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

时间:2020-10-04 10:16:01

标签: 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.updateMany({
    {},
    $set: {
        newField: '$createdAt'
    }
});

但是它未能产生我想要的结果。 谢谢!

(Mongodb版本4.0.2)

1 个答案:

答案 0 :(得分:0)

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

db.collection.update(
  {filer},
  [{
    $addFields: {
      newField: '$createdAt'
    }
  }]
)
相关问题