2013-10-14 108 views
1

我要問你,如果下面的代碼將在一個原子操作執行。我正在使用mongodb c#驅動程序。MongoDB的C#驅動程序更新在一個原子操作多個文檔

的輸入法是我想更新的對象的ID列表。

public void Update(IEnumerable<string> ids) 
{ 
    var query = Query<T>.Where(t => ids.Contains(t.Id)); 
    var update = Update.Set("Modified", DateTime.Now); //this is just example of update 

    var options = new MongoUpdateOptions {Flags = UpdateFlags.Multi}; 

    Collection.Update(query, update, options); 
} 

我對這種情況很感興趣,當時我有幾百萬份文件需要更新。如果在此更新期間出現故障(電源或硬件問題),會發生什麼情況?將數據庫保持一致狀態?

謝謝。

回答

0

MongoDB不支持交易原子多文件。 MongoDB只在一個文檔上執行原子操作。

可以在the documentation of Mongodb

檢查此所以,如果你與你的查詢1000文檔和此操作過程中您的服務器崩潰更新,一些文件可能被更新,其他的不會。

相關問題