mongoose将存储的UTCdate转换为当地时间?

我想知道如果这是正常的,或者如果我缺less架构设置或查询过程中的东西:

我的应用程序mongoose正确地将date存储为mongodb中的UTC。 这可以通过mongo shell查看文档来确认。 当我通过mongoose从mongodb获取文件时,date现在是当地时间。

mongo shell: http : //cl.ly/image/2m3P212o0i2x

console.log输出查询结果: http : //cl.ly/image/3W2q3b1R0F3q

查询时有没有办法让mongoose把date保持为UTC?

Mongoose和node.js对你的date没有做任何事情,只是JavaScript Datetypes在你调用toString()时候会产生一个本地时间string,即使它实际上包含了UTC的时间。

如果您需要UTC时间string,请在Date对象上显式调用toUTCString()

时间戳是无意义的存储时区,作为unix时间戳。 这个时间戳将跨时区工作,节点解释它使用您当前的时区。 您可以使用getUTC *方法(如get getUTCHours())从date对象中检索UTC值,