let items = [
{
name: "Choco",
id: "12344",
qty: 24,
status: "open"
},
{
name: "Mils",
id: "12346",
qty: 5,
status: "open"
},
{
name: "boom",
id: "12345",
qty: 10,
status: "open"
}
];
鉴于上面的数组,是否可以更新文档而无需在每个文档上调用forEach。
例如我目前正在做的是这个
_.each(items, function( item ) {
Orders.update({_id: doc.orderId, "items.id": item.id},
{
"$set": {
'items.$.status': item.status,
'items.$.qty': item.qty,
}
})
})
是否可以一次更新整个数组而无需创建新的mongo db事务
答案 0 :(得分:0)
您可以阅读所有订单:
var order = Orders.findOne({_id: doc.orderId});
比使用新数据调整order.items
,然后在单个操作中更新:
Orders.update({_ id:doc.orderId},{" $ set":{items:order.items}});