MongoDB InsertMany 与 BulkWrite

MongoDB InsertMany vs BulkWrite

我正在使用 MongoDB 来保存日志数据。我的目标是零丢弃日志记录。现在我正在使用 InsertManyAsync 来写入多个日志数据。但是在 MongoDB 中也有类似 BulkWriteAsync 的方法。

InsertManyBulkWrite 在性能上有什么区别?在本地写入和通过网络写入?

BulkWriteAsync 在幕后使用 InsertManyAsync 进行插入操作。唯一的区别是 BulkWriteAsync 允许您在同一屋檐下执行不同的操作(插入、更新、删除)。但是,如果您在 BulkWriteAsync 和 InsertManyAsync 之间争论插入一堆文档,建议直接使用 InsertManyAsync。

好的,这是两个问题:

InsertMany 与 BulkWrite

使用 BulkWrite,您可以在与 mongoDB 的单个连接中执行许多操作。 内部InsertMany使用BulkWrite,所以没有区别,只是为了方便。

同步与异步

当您执行同步操作时,您的应用程序将等待 MongoDB 完成工作。使用异步操作,您可以同时执行许多操作。服务器端和客户端。

This was already solved too.

BulkWrite 支持混合写入操作(插入、删除和更新),而 insertMany,顾名思义,仅插入文档。