1
我們使用MongoDB C#驅動程序使用InsertManyAsync
插入一組記錄。MongoDB是否成功插入保證填充的ID?
我們目前有代碼在InsertManyAsync
返回後迭代整個集合,確認ID已填充。我希望驅動程序已經處理這個問題,但我還沒有找到說明的文檔。
如果InsertManyAsync
成功返回(即不會拋出異常),驅動程序是否保證提供的集合的ID被填充?
我們使用MongoDB C#驅動程序使用InsertManyAsync
插入一組記錄。MongoDB是否成功插入保證填充的ID?
我們目前有代碼在InsertManyAsync
返回後迭代整個集合,確認ID已填充。我希望驅動程序已經處理這個問題,但我還沒有找到說明的文檔。
如果InsertManyAsync
成功返回(即不會拋出異常),驅動程序是否保證提供的集合的ID被填充?
是的。如果操作完成沒有錯誤,則保證文檔具有ID(由操作人員在操作之前或由操作人員在操作本身中創建)。
此外,由於ID是由驅動程序本身(客戶端)在調用MongoDB服務器之前生成的,所以即使在操作中存在異常(例如服務器是下)。
該ID由MongoCollectionImpl.AssignId
方法分配,可以找到here。