2011-10-14 27 views
1

已經有很好的文檔說明了如何從C#插入到MongoDb集合(Example)中獲取返回標識。但是,如何獲得一個插入文檔?有沒有辦法,再次查詢Id,使用更新返回的SafeModeResult來查找插入的文檔Id?C#中的插入Mongo文檔的標識

發現
My code: 
var query = abc; 
var update = xyz; 
try 
{ 
    db["Collection"].Update(query, update, UpdateFlags.Upsert); 
} 
catch 
{ 
} 

回答

0

解決方案:

db["Collection"].FindAndModify(query, SortBy.Ascending(), update, true, true).Response.GetValue(1).AsBsonDocument.GetValue("_id") 

返回的ObjectId。

+0

因此,您知道,FindAndModify是一個原子函數,這意味着如果您正在進行大量寫入操作,則可能會很慢,因爲它會鎖定整個數據庫以用於每次寫入操作。我不相信* mongo目前支持集合級別鎖定,所以如果你運行了很多這些,它可能會導致放緩。 –

相關問題