我有一个具有以下实例的集合:
{ 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)
答案 0 :(得分:0)
从MongoDB 4.2开始,您可以使用聚合管道进行更新操作。在这种情况下,您可以使用$addFields:
db.collection.update(
{filer},
[{
$addFields: {
newField: '$createdAt'
}
}]
)