是否可以从光标遍历函数内部更新mongo doc(类似于mongoose)?
类似的东西:
db.collection.find({email:"xxx@test.com"}).forEach(doc => {
doc.newProp = 'newValue';
doc.save();
});
答案 0 :(得分:1)
看起来可以这样做:
db.collection.find({email:"xxx@test.com"}).forEach(doc => {
doc.newProp = 'newValue';
db.collection.save(doc);
});
答案 1 :(得分:0)
尝试使用以下查询,它应该可以解决您的问题: -
db.collection.find({email:"xxx@test.com"}).forEach(doc => {
db.collection.update({_id: doc._id},{$set:{"newProp":"value"}});
});
$ set 会更新现有值,否则如果文档中没有该字段,则会添加具有给定值的新字段。