使用另一个日期字段的值更新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'
}
}]
)