我在Mongoose(MongoDb)中有这样的文件:
{
begin: Date,
end: Date
}
我想做的就是:
end == null
end =
更新它们“开始增加10天”如何在一次更新中完成?
答案 0 :(得分:1)
此查询选择end = null的所有文档,并使用新日期更新它
Collection.update({end:null}, {$set: {end:'new_date'}},{ multi: true });
答案 1 :(得分:1)
目前,您无法在update()
中引用文档的当前属性。相反,您必须遍历文档as described in this answer。在您的情况下,它看起来更像是这样:
db.docs.find({end:null}).forEach(
function(doc) {
doc.end = doc.begin + 10;
db.docs.save(doc);
}
)
这是Mongo shell的语法 - 您可能需要对Mongoose as per the API进行一些更改。