簡體   English   中英

Mongoose - 使用多個對象更新 object 數組

[英]Mongoose - Update object array with multiple objects

我有一個文檔,其中包含一系列行項目,例如 sku、描述等,我需要 append 從單獨的來源為其添加一個新字段。 此源包含用於匹配的 sku 和第二個字段 [lineItemId]。 一次更新所有內容的最佳方法是什么? 我想通過直接更新來做到這一點,但不確定是否需要將數據拉入節點,map 在 lineItemId 中並將更新推回。

任何幫助將不勝感激。

MDB 中的集合 Object

{
   _id: ....
   orderId: 1
   lineItems: [{
      sku: "sku1",
      description: "item description"
   },
   {
      sku: "sku2",
      description: "item description"
   }]
}

第二來源

[{
   sku: "sku1",
   lineItemId: "1234"
},
{
   sku: "sku2",
   lineItemId: "5678"
}
]

期望的結果

{
   _id: ....
   orderId: 1
   lineItems: [{
      sku: "sku1",
      description: "item description",
      lineItemId: "1234"
   },
   {
      sku: "sku2",
      description: "item description",
      lineItemId: "5678"
   }]
}

使用 UPSERT 方法

document.findOneAndUpdate({
    orderId: 1
}, { description: "item description" }, { upsert: true });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM