16

我必须使用新的 C# 2.0 驱动程序在 MongoDB 集合中插入许多文档。是使用其中一个collection.InsertManyAsync(...) 还是collection.BulkWriteAsync(...)有什么不同?(特别是关于性能)。

根据我从 MongoDB 文档中了解到的情况,带有文档数组的插入应该是后台的批量操作。那是对的吗?

谢谢你的帮助。

4

1 回答 1

20

我在查看驱动程序源代码时找到了答案:内部InsertManyAsync使用.BulkWriteAsync

所以使用InsertManyAsync它和写一样:

List<BsonDocument> documents = ...

collection.BulkWriteAsync(documents.Select(d => new InsertOneModel<BsonDocument>(d)));

显然,如果所有操作都是插入,则InsertManyAsync应该使用 。

于 2015-10-03T10:57:09.813 回答