我在Mongoose(MongoDb)中有这样的文档:

{
  begin: Date,
  end: Date
}


我要做的就是:


选择所有带有end == null的文档
然后使用end =“开始增加10天”来更新它们


如何在一次更新中完成?

最佳答案

现在,您不能在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进行一些更改。

10-07 19:59
查看更多