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