我正在开发一个项目,目前它会遍历每个文档来编辑字段,并且滞后很多。
{ "Name" : "Susie" , "This Semester" : 10 , "Last Semester" : 0 }
{ "Name" : "John" , "This Semester" : 20 , "Last Semester" : 0 }
...
我有这样的文档,我想获取本学期的值,并将其放入上学期(每个文档都不同),并将“本学期”设置为 0,以便我查看每个文档1个1,然后把本学期的值,一一放入上学期,这样项目效率很低。
有没有办法一次性更新所有文档?
最佳答案
使用聚合管道执行更新以允许从其他字段获取值。
db.collection.update({},
[
{
$set: {
"Last Semester": {
$getField: "This Semester"
},
"This Semester": 0
}
}
])
关于MongoDB : How to update a new field value according to existing field value in each document?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72223136/