Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新Mongoose中的依赖日期字段_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 更新Mongoose中的依赖日期字段

Javascript 更新Mongoose中的依赖日期字段,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我在Mongoose(MongoDb)中有这样的文档: 我想做的就是: 选择end==null的所有文档 然后使用end=“开始增加10天”更新它们 如何在一次更新中完成此操作?此查询选择end=null的所有文档,并使用新日期进行更新 Collection.update({end:null},{$set:{end:'new_date'},{multi:true})现在,您不能在更新()中引用文档的当前属性。相反,您必须遍历文档。在您的情况下,它看起来更像这样: db.docs.find({en

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

我想做的就是:

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

  • 如何在一次更新中完成此操作?

    此查询选择end=null的所有文档,并使用新日期进行更新
    Collection.update({end:null},{$set:{end:'new_date'},{multi:true})

    现在,您不能在
    更新()中引用文档的当前属性。相反,您必须遍历文档。在您的情况下,它看起来更像这样:

    db.docs.find({end:null}).forEach(
      function(doc) {
        doc.end = doc.begin + 10;
        db.docs.save(doc);
      }
    )
    

    这是Mongo shell的语法——您可能需要对Mongoose进行一些更改。

    new\u date
    必须与每个文档相关,也就是说,在每个更新的文档中,它通常是不同的
    db.docs.find({end:null}).forEach(
      function(doc) {
        doc.end = doc.begin + 10;
        db.docs.save(doc);
      }
    )