node.js - 【mongodb】存储当前时间用什么格式??
本文介绍了node.js - 【mongodb】存储当前时间用什么格式??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我直接用
Date.now()
,存到数据库的格式是这样:
ISODate("2017-07-11T01:25:55.448+08:00")
如果按照这种格式存,那么我在查询的时候希望返回格式是这样:
2017-07-11 11:23:34
如何查询?求代码
或者存储其他格式,查询返回同样的结果,也欢迎指导
解决方案
mongodb Date Aggregation Operators文档地址:https://docs.mongodb.com/manu...
$dateToString这个需要 mongodb3.0以上才支持
源数据
db.getCollection('devices').insert([
{
"_id" : ObjectId("593d1df123aa5c000ea57b80"),
"Last_Modify_Time" : 1.0,
"Last_Modify_By" : 1.0,
"Creation_Time" : ISODate("2017-06-11T10:39:45.000Z")
},{
"_id" : ObjectId("593e7091e2bdc3000e4cdca3"),
"Last_Modify_Time" : 2.0,
"Last_Modify_By" : 2.0,
"Creation_Time" : ISODate("2017-06-12T10:44:33.000Z")
},{
"_id" : ObjectId("5949106bd4e170000e544c1a"),
"Last_Modify_Time" : 3.0,
"Last_Modify_By" : 3.0,
"Creation_Time" : ISODate("2017-06-20T12:09:15.000Z")
},{
"_id" : ObjectId("593ced72c4162e000e7e9611"),
"Last_Modify_Time" : null,
"Last_Modify_By" : null,
"Creation_Time" : ISODate("2017-06-11T07:12:50.000Z")
}
])
SQL 语句
db.getCollection('devices').aggregate([
{
$project: {
'date': {
// 将Creation_Time字段加上8*60*60*1000毫秒后,再格式化时间
$dateToString: {format: "%Y-%m-%d %H:%M:%S", date: {$add:['$Creation_Time',28800000] } }
},
'Last_Modify_Time': '$Last_Modify_Time',
'Last_Modify_By': '$Last_Modify_By'
}
}
])
结果
/* 1 */
{
"_id" : ObjectId("593d1df123aa5c000ea57b80"),
"Last_Modify_Time" : 1.0,
"Last_Modify_By" : 1.0,
"date" : "2017-06-11 18:39:45"
}
/* 2 */
{
"_id" : ObjectId("593e7091e2bdc3000e4cdca3"),
"Last_Modify_Time" : 2.0,
"Last_Modify_By" : 2.0,
"date" : "2017-06-12 18:44:33"
}
/* 3 */
{
"_id" : ObjectId("5949106bd4e170000e544c1a"),
"Last_Modify_Time" : 3.0,
"Last_Modify_By" : 3.0,
"date" : "2017-06-20 20:09:15"
}
/* 4 */
{
"_id" : ObjectId("593ced72c4162e000e7e9611"),
"Last_Modify_Time" : null,
"Last_Modify_By" : null,
"date" : "2017-06-11 15:12:50"
}
这篇关于node.js - 【mongodb】存储当前时间用什么格式??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文