使用每个文档中的值更新集合中的所有日期
update all dates in collection using the value in each document
所以我遇到了一些代码的问题,我有一个不可预测的日期。我已经修复了代码,但我想修复数据集。
我需要获取列的日期部分并对其进行更新以删除时间部分(可以是午夜,也可以是默认值)。
我有这个代码:
db.rawDayForceEmployeeStatus.update({}
,{
$set:{"dateOfStateCapture": {$dateToString:
{
format: "%Y-%m-%d",
date: "dateOfStateCapture"
}}
}
}
我想将“$dateToString”函数包装在 'new ISODate( )' 语句中,但系统似乎不喜欢那样。 “
我确定我只是在破坏我正在尝试做的事情的语法。我很确定我将日期设置为等于文字“dateOfStateCapture”,而不是我打算指向的日期。
如何获取此字段中的日期,对其进行修改,然后将其放回我想要的位置?
编辑:
这就是我的想法。这仍然不会 运行,但我希望这表达了我正在尝试做的事情:
db.rawDayForceEmployeeStatus.updateMany({},
{$set:
{
"dateOfStateCapture": new ISODate(
{$dateToString:
{ format: "%Y-%m-%d",
date: "dateOfStateCapture"},
}),
}
})
db.rawDayForceEmployeeStatus.updateMany(
{},
[
{ "$set":
{"dateOfStateCapture":
{"$dateToString":
{
format: "%Y-%m-%d",
date: "$dateOfStateCapture"
}
}
}
}
]
)
$dateOfStateCapture
$ 使用字段值
所以我遇到了一些代码的问题,我有一个不可预测的日期。我已经修复了代码,但我想修复数据集。
我需要获取列的日期部分并对其进行更新以删除时间部分(可以是午夜,也可以是默认值)。
我有这个代码:
db.rawDayForceEmployeeStatus.update({}
,{
$set:{"dateOfStateCapture": {$dateToString:
{
format: "%Y-%m-%d",
date: "dateOfStateCapture"
}}
}
}
我想将“$dateToString”函数包装在 'new ISODate( )' 语句中,但系统似乎不喜欢那样。 “
我确定我只是在破坏我正在尝试做的事情的语法。我很确定我将日期设置为等于文字“dateOfStateCapture”,而不是我打算指向的日期。
如何获取此字段中的日期,对其进行修改,然后将其放回我想要的位置?
编辑:
这就是我的想法。这仍然不会 运行,但我希望这表达了我正在尝试做的事情:
db.rawDayForceEmployeeStatus.updateMany({},
{$set:
{
"dateOfStateCapture": new ISODate(
{$dateToString:
{ format: "%Y-%m-%d",
date: "dateOfStateCapture"},
}),
}
})
db.rawDayForceEmployeeStatus.updateMany(
{},
[
{ "$set":
{"dateOfStateCapture":
{"$dateToString":
{
format: "%Y-%m-%d",
date: "$dateOfStateCapture"
}
}
}
}
]
)
$dateOfStateCapture
$ 使用字段值