mongodb - MongoDb将日期时间戳转换为集合中的日期
问题描述
我收藏的日期很少
"workedDate" : ISODate("2020-07-02T08:16:59Z"),
"workedDate" : ISODate("2020-07-01T14:00:00Z"),
"workedDate" : ISODate("2020-06-30T16:00:00Z"),
"workedDate" : ISODate("2020-06-29T14:00:00Z"),
"workedDate" : ISODate("2020-07-01T23:43:32Z"),
我需要删除时间戳,如"workedDate" : "2020-07-02" 或这样的"workedDate" : ISODate("2020-07-02T00:00:00Z")
需要这样的结果。
"workedDate" : ISODate("2020-07-02T00:00:00Z"),
"workedDate" : ISODate("2020-07-01T00:00:00Z"),
"workedDate" : ISODate("2020-06-30T00:00:00Z"),
"workedDate" : ISODate("2020-06-29T00:00:00Z"),
"workedDate" : ISODate("2020-07-01T00:00:00Z"),
任何可用的更新查询
解决方案
我认为下面的脚本是你正在寻找的
var count = 0;
db.<Collection-Name>.aggregate([
{
"$project": {
"_id": 1,
"workedDate": 1,
}
},
{
"$addFields": {
"DateinString": {
"$toDate": {
"$dateToString": {
"format": "%Y-%m-%d",
"date": "$workedDate"
}
}
}
}
}
]).forEach (function(it) {
db.<Collection-Name>.updateOne({
"_id": it["_id"]
}, {
"$set": {
"workedDate": it["DateinString"]
}
});
printjson(++count);
})
printjson("DONE!!!")
推荐阅读
- javascript - 无法从 Fetch 设置变量
- javascript - 任务队列中哪个任务(setTimeout 或单击事件)优先?
- javascript - @type 中的 JSDoc 引用对象变量
- java - Apache POI:如何在数据透视的行标签日期中设置 THIS_YEAR 过滤器
- git - 错误:无法生成 C:/Windows/system/32/OpenSSH/ssh.exe
- javascript - 如何通过单击孵化器 eCharts 中的轴标签刻度来切换整个组?
- java - 如何使用 PDFBox 从 PDF 文档中删除链接
- git - 在执行“git submodule add...”时,如何获取有关两个项目的结帐版本的信息?
- python-3.x - 从 pandas 数据框中另一列中的值创建变量
- java - 如何将sql本机查询结果映射到spring jpa存储库中的DTO?