Volgens deze uitgave New operator to update all matching items in an array
, momenteel is er geen operatie om dat te doen in Mongodb. Voel me zo verdrietig, dit probleem duurt 6 jaar.
Er zou een oplossing kunnen zijn in mongo-shell, zoals hieronder.
> db.comments
.find({})
.forEach(function(doc) {
doc.comments.map(function(c) {
if (c.active == 1) {
c.status = 0;
}
});
db.comments.update(
{_id: doc._id},
{$set: {comments: doc.comments}});
});