1

我们正在使用 MongoDB C# 驱动程序使用InsertManyAsync.

我们目前有代码在返回后迭代整个集合InsertManyAsync,确认 ID 已填充。我希望驱动程序已经解决了这个问题,但我还没有找到这样说的文档。

如果InsertManyAsync成功返回(即不抛出异常),驱动程序是否保证所提供集合的 ID 已被填充?

4

1 回答 1

1

是的。如果操作完成且没有错误,则可以保证文档具有 ID(由您在操作之前创建或由驱动程序在操作本身中创建)。

此外,由于ID 是由驱动程序本身(客户端)在调用 MongoDB 服务器之前生成的,因此即使在操作中出现异常(例如服务器已关闭),也会设置 ID。

MongoCollectionImpl.AssignIdID 是通过可在此处找到的方法分配的。

于 2015-06-22T15:27:47.657 回答