【问题标题】:MongoDB InsertMany vs BulkWriteMongoDB InsertMany 与 BulkWrite
【发布时间】:2022-03-29 14:00:54
【问题描述】:

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

InsertManyBulkWrite 的性能有何不同?本地写和网络写?

【问题讨论】:

    标签: c# mongodb mongodb-.net-driver


    【解决方案1】:

    好的,这是两个问题:

    InsertMany 与 BulkWrite

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

    This question was already solved.

    同步与异步

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

    This was already solved too.

    【讨论】:

      【解决方案2】:

      BulkWrite 支持混合写入操作(插入、删除和更新),而 insertMany(如其名称所示)仅插入文档。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • BulkWriteAsync 在幕后使用 InsertManyAsync 仅供参考,实际上是相反的,InsertMany 使用 BulkWrite
        猜你喜欢
        • 1970-01-01
        • 2019-12-06
        • 2021-04-25
        • 1970-01-01
        • 1970-01-01
        • 2021-07-06
        • 2021-05-11
        • 2020-08-12
        • 1970-01-01
        相关资源
        最近更新 更多