MongoDB中Date.now()与new Date()存储格式差异及时间戳存储方法问询
MongoDB指定日期转时间戳存储解决方案
方案1:将目标日期转换为毫秒时间戳后存储
你只需要对Date实例调用getTime()方法,即可拿到对应的毫秒级时间戳数字,直接存储即可:date: new Date("2021-08-27T19:00:38.000+00:00").getTime()也可以使用更简洁的隐式转换写法,效果完全一致:
date: +new Date("2021-08-27T19:00:38.000+00:00")以上两种写法存储到MongoDB的结果都和
Date.now()的存储格式一致,为数字类型的时间戳,可直接按数值排序。补充说明:原生Date类型也可满足排序需求
你之前用new Date()直接存储的MongoDB原生ISODate类型,本身就支持按时间顺序排序,性能和数字时间戳没有显著差异,还自带时区转换、日期运算等内置能力,如果你没有特殊的时间戳依赖,也可以直接使用该类型,不需要额外转换为时间戳。
内容的提问来源于stack exchange,提问作者Nathan Bernard
相关产品推荐
相关产品推荐

