在Mongoose中更新依赖的date字段
我在Mongoose(MongoDb)中有这样的文档:
{ begin: Date, end: Date }
我想要做的是:
- select
end == null
所有文档 - 然后使用
end =
“开始增加10天”来更新它们
如何在一次更新中完成?
现在,您无法在update()
引用文档的当前属性。 相反,你将不得不迭代通过这个答案中描述的文档。 在你的情况下,它会看起来更像这样:
db.docs.find({end:null}).forEach( function(doc) { doc.end = doc.begin + 10; db.docs.save(doc); } )
这是Mongo shell的语法 – 您可能需要根据API对Mongoose进行一些更改。
该查询select所有具有end = null的文档,并使用新dateCollection.update({end:null}, {$set: {end:'new_date'}},{ multi: true });