Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
使用另一个日期字段的值更新MongoDB日期字段_Mongodb_Mongoose - Fatal编程技术网

使用另一个日期字段的值更新MongoDB日期字段

使用另一个日期字段的值更新MongoDB日期字段,mongodb,mongoose,Mongodb,Mongoose,我有一个具有以下实例的集合: {id:1,createdAt:ISODate(“2018-12-25T21:18:06.791+0000”)} 我想使用更新操作添加另一个日期字段,该字段的值取自createdAt字段: {id:1,createdAt:ISODate(“2018-12-25T21:18:06.791+0000”),newField:ISODate(“2018-12-25T21:18:06.791+0000”)} 有没有可能的办法?我在这里尝试了以下代码: collection.u

我有一个具有以下实例的集合:

{id:1,createdAt:ISODate(“2018-12-25T21:18:06.791+0000”)}

我想使用更新操作添加另一个日期字段,该字段的值取自
createdAt
字段:

{id:1,createdAt:ISODate(“2018-12-25T21:18:06.791+0000”),newField:ISODate(“2018-12-25T21:18:06.791+0000”)}

有没有可能的办法?我在这里尝试了以下代码:

collection.updateMany({
    {},
    $set: {
        newField: '$createdAt'
    }
});
但它并没有产生我渴望的结果。 谢谢


(Mongodb版本4.0.2)

从Mongodb 4.2开始,您可以使用聚合管道进行更新操作。在这种情况下,您可以使用:


请向我们展示您的完整命令,而不仅仅是set操作。@WernfriedDomscheit已编辑。@dneumark,为什么不升级到最新版本的MongoDB?@WernfriedDomscheit开发操作问题:/
db.collection.update(
  {filer},
  [{
    $addFields: {
      newField: '$createdAt'
    }
  }]
)