我想更新所有数据库: -
他们的模特如下:
{
"_id" : ObjectId("593800da81dd4240d42f0c98"),
"leaveType" : ObjectId("5927da8b7094b726fecaa3b5"),
"units" : 20,
"employee" : ObjectId("59283f772c3bd82eaca28153"),
"__v" : 0
}
我想要的是,更新所有模型,将新值插入unitsAvailed
,并将相同的数字作为对应的单位
{
"_id" : ObjectId("593800da81dd4240d42f0c98"),
"leaveType" : ObjectId("5927da8b7094b726fecaa3b5"),
"units" : 20,
"unitsAvailed" : 20,
"employee" : ObjectId("59283f772c3bd82eaca28153"),
"__v" : 0
}
答案 0 :(得分:0)
您可以使用此查询更新所有文档
var cursor = db.collectionName.find({});
cursor.forEach(function(data) {
data.unitsAvailed = data.units;
data.save();
});
答案 1 :(得分:0)
您可以使用db.eval()运行服务器端代码。请参阅下面的示例
db.eval(function() {
db.collection.find({tag : "refurb"}).forEach(function(e) {
e.Price = e.Price * 0.5;
db.collection.save(e);
});
});
答案 2 :(得分:-1)
您可以使用:
db.collectionName.updateMany({},{$set:{unitsAvailed: 20}})