mongodb - 如何通过删除 mongoDB 中的时间来更新日期字段?
问题描述
我收集了 100 条记录。每条记录都有如下日期字段
"created_date" : ISODate("2018-11-20T00:00:00.000Z")
我想通过删除如下时间来更新每条记录
"created_date" : "2018-11-20"
如何为这种更新编写查询
解决方案
您可以使用聚合查询从日期中删除时间戳,并使用 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
}
})
})
推荐阅读
- highcharts - 样式模式:栏的颜色主题
- python - 类型错误:* 的不支持的操作数类型:“instancemethod”和“instancemethod”
- regex - Neo4j 查询使用正则表达式过滤版本字符串小于
- github - 如何修复 - 无法统计路径 - 将 gatsby 站点发布到 github-pages 时没有这样的文件或目录?
- python - “NoneType”对象没有属性“DoesNotExist”
- java - 如何将字符串传递给单独的java.class
- python - Odoo 8 - 计算字段不使用 self.env 也不搜索
- sql-server - 查询特定时间之间的列数据。特别是在设定时间之间
- cmake - CMake:如何为每个目标指定不同的链接脚本
- android - 在 android 中使用 Glide 进行图像缓存