如何在MongoDB中通过ID更新一些嵌套对象。
在下面的情况下,只有第一个项目将被更新!
在updateMany中更新所有嵌套对象。
"Parent":[{
"Child": [{
"_id": 5f26fad5b34a304dfc1dd16a,
"isActive": false,
}, {
"_id": 5f26fad5b34a304dfc1dd16c,
"isActive": false,
}, {
"_id": 5f2705281b42ea2de8b7c9e2,
"isActive": false,
}
],
"name": "Paretn1"
},
]
parent.updateMany(
{
"child._id": { $in: [ObjectId('5f26fad5b34a304dfc1dd16a'), ObjectId('5f26fad5b34a304dfc1dd16c')
]}
},
{ $set: { "child.$.isActive": true } },
{ multi: true },
() => {
console.log('done')
}
);
[element]
更改为[elem]
以匹配数组过滤器。谢谢! - tbowden