我想知道这是否正常,或者我是否在架构设置或查询过程中遗漏了某些内容:
我的应用程序和mongoose正确地将日期存储为mongodb中的UTC。通过mongo shell查看文档可以确认这一点。当我通过mongoose从mongodb检索文件时,日期现在是当地时间。
有没有办法让mongoose在查询时将日期保持为UTC?
答案 0 :(得分:7)
Mongoose和node.js没有对你的日期做任何事情,只是JavaScript Date
类型在你调用toString()
时产生一个本地时间字符串,即使它实际上包含了时间在UTC。
如果您需要UTC时间字符串,请在toUTCString()
对象上显式调用Date
。
答案 1 :(得分:1)
时间戳以非固定方式存储在时区中,作为unix时间戳。此时间戳将跨时区工作,节点使用您当前的时区对其进行解释。您可以使用getUTC *方法从日期对象中检索UTC值,例如get getUTCHours()