日期类型如何存储 Date, Long?
来源:3-17 【更新文档】动手实战 - 最后一波更新操作符

buoge
2019-05-07
请问下老师,日期类型如何存储最优化?
1.Date 类型有时区的细节需要注意,后续代码实现比对感觉构造时间略麻烦
2.存时间戳 Long 类型,存储方便,但是不方便阅读,范围查询和比较查询都好实现,代码编写查询逻辑也简单
但有人也说涉及聚合查询时按年,按月,还是Date类型方便,请问老师怎么看?
写回答
1回答
-
同学你好~如果你使用的是4.0版本(或者至少是3.6版本)的话,其实很多聚合操作已经支持时区了
比如说从Date对象中提取月份的$month操作符,可以传入一个代表时区的参数:
{ $month: {
date: ISODate("2000-01-01T00:00:00Z"),
timezone: "+0800"}
}
类似支持时区操作的操作符还有不少,比如$dateToParts, $dateFromString等等,不知道这些是否可以帮助你简化对于数据库中Date类型字段的操作难度?
112020-02-04
相似问题