【问题标题】:MongoDB: Update many documents with different data in eachMongoDB:在每个文档中使用不同的数据更新许多文档
【发布时间】:2020-11-19 14:40:50
【问题描述】:

我有一个 _id 数组:

ordersId = ["5ec42446347f396fc3d86a3d", "5ec422d4347f396fc3d86a3c", "5ecefaf0aead3070fbdab7dd"]

我正在尝试更新与这些 _id 匹配的文档,但每个文档中的数据不同:

    const existentOrders = await Orders.updateMany(
        { _id: { $in: ordersId } },
        {
            $set: {
                status: "Reviewing",
                cashier: req.id,
                rate: dataBasedOnId,
            },
        }
    );

我有一个对象数组也有这些 id:

const ordersRates = [
  {
    _id: "5ec42446347f396fc3d86a3d"
    rate: 2434686948.19
  },
  {
    _id: "5ec422d4347f396fc3d86a3c"
    rate: 2434686948.19
  },
  {
    _id: "5ecefaf0aead3070fbdab7dd",
    rate: 93320.00
  }
]

所以我要做的是使用ordersRate 变量中的速率更新每个文档。

是否可以只使用一个操作来更新它们?

谢谢!

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    我建议您使用bulk write,这将节省网络往返时间,而不是使用多个请求。

    您有两个变量并形成UpdateOne 操作列表并将其传递给批量写入。

    Refer

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 2019-09-19
      • 2011-04-16
      • 2019-05-22
      • 2017-03-07
      • 2017-02-14
      相关资源
      最近更新 更多