结论
使用mongo ISODate类型
原因分析以下↓↓↓↓↓↓↓****↓
field type string
timeA = "2022-3-31"
timeB = "2022-11-31"
timeB > timeA,机器比较时间是逐字节比较, timeA 2022- 等于 timeB 2022-,继续进行比较 3>1,结果 timeA > timeB。时间格式补位 timeA 格式 "2022-03-31",0<1,timeB > timeA。
field value storage capacity
一个正常的epoch时间是32位(4字节),一个字符串日期至少是10个字节(如2018-06-12),字符串时间至少是19个字节(如2018-06-12 12:00:00),浪费空间浪费效率。
mongo查询运算符month/$day
正常的时间可以通过month/$day等运算符很方便地取出相应的部分,字符串瞪眼。
以上分析原因足以说明,时间字段不适用string类型。
不同见解欢迎论证。☺