我直接用
Date.now()
,存到数据库的格式是这样:
ISODate("2017-07-11T01:25:55.448+08:00")
如果按照这种格式存,那么我在查询的时候希望返回格式是这样:
2017-07-11 11:23:34
如何查询?求代码
或者存储其他格式,查询返回同样的结果,也欢迎指导
我直接用
Date.now()
,存到数据库的格式是这样:
ISODate("2017-07-11T01:25:55.448+08:00")
如果按照这种格式存,那么我在查询的时候希望返回格式是这样:
2017-07-11 11:23:34
如何查询?求代码
或者存储其他格式,查询返回同样的结果,也欢迎指导
存到数据库里的时间是这种格式,展现的话取出来用 moment 处理一下即可。http://momentjs.com/docs/#/pa...
const moment = require('moment');
moment("2017-07-11T01:25:55.448+08:00").format('YYYY-MM-DD HH:mm:ss'); //2017-07-11 11:23:34
另外其实你可以直接用 String 类型而不是 Date 类型去存时间,这样就不用额外处理。
Javascript
原生没有支持对Date
类型的格式化方法,所以不依赖第三方库的话是不好格式化的。取决于你格式化是想达到什么目的,建议可以选择:
如果是使用程序读取数据,可以在读到程序端后再进行转换。常用的语言一般都有对日期类型比较完善的支持。
如果是在mongo shell中,可以使用aggregation
的$dateToString,链接中有示例。
MongoDB的date在Node.js驱动中直接使用的Javascript的date数据类型,Javascript的date数据类型大部分情况都够用了。
请参看:https://segmentfault.com/n/13...
另外,上面也有高手提到来了moment.js,用的人也灰常多。
Love MongoDB!Have fun!
3 回答1.3k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
4 回答627 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答1.5k 阅读
2 回答937 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
mongodb Date Aggregation Operators文档地址:https://docs.mongodb.com/manu...
$dateToString这个需要 mongodb3.0以上才支持
源数据
SQL 语句
结果