MongoDB C#驱动程序2.0 InsertManyAsync与BulkWriteAsync

Ste*_*tta 12 c# mongodb mongodb-csharp-2.0 mongodb-.net-driver

我必须使用新的C#2.0驱动程序在MongoDB集合中插入许多文档.是使用collection.InsertManyAsync(...)collection.BulkWriteAsync(...)有什么区别?(特别是关于表现).

根据我对MongoDB文档的理解,带有文档数组的插入应该是一个大量的操作.那是对的吗?

谢谢你的帮助.

Ste*_*tta 16

我找到了解决驱动程序源代码的答案:InsertManyAsync在内部使用BulkWriteAsync,因此使用InsertManyAsync它与编写相同:

List<BsonDocument> documents = ...

collection.BulkWriteAsync(documents.Select(d => new InsertOneModel<BsonDocument>(d)));
Run Code Online (Sandbox Code Playgroud)

显然,如果所有操作都是Inserts,则应使用InsertManyAsync.