[英]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.