我有100条记录的集合。每个记录的日期字段如下所示
"created_date" : ISODate("2018-11-20T00:00:00.000Z")
我想通过删除以下时间来更新每条记录
"created_date" : "2018-11-20"
如何为这种更新编写查询
答案 0 :(得分:1)
您可以使用“聚合查询”从日期中删除时间戳记,并使用forEach函数更新集合。这可能需要一些时间,但是会根据您的要求更新收集数据。这是Mongo聚合查询:
db.getCollection('demo').aggregate([
{
$addFields: {
DateinString: {
$dateToString: {
format: "%Y-%m-%d",
date: "$created_date"
}
}
}
}
]).forEach(function(myDoc){
db.getCollection("demo").update({
_id: myDoc._id
}, {
$set: {
"created_date": myDoc.DateinString
}
})
})