如何使用Mongodb中的时区设置进行查询

Jac*_*ack 9 timezone mongodb

我正在尝试将我的应用程序数据库从Mysql转移到Mongodb,但我遇到了日期时间查询的问题.

在Mysql中,当有datetime或timestamp列时,您可以使用命令为每个请求设置特定的时区:

SET time_zone = timezone;
// do queries here
Run Code Online (Sandbox Code Playgroud)

对于这种需求,是否有任何类似的解决方案?

我知道应用程序可以在从mongodb检索数据后完成工作,但是使用$ hour,$ month或$ day运算符进行聚合呢?

Nic*_*ick 19

MongoDB以UTC格式存储所有日期和时间.这允许时区支持和转换在应用程序端而不是服务器端完成.

存储日期和时间的最佳方法是通过Javascript Date对象.这将允许您使用getTime()和Date(毫秒)将日期转换为Unix时间戳和从Unix时间戳转换日期.

应该注意的是,Javascript存储自UNIX Epoch以来的时间(以毫秒为单位),而标准UNIX时间戳以Epoch为单位以秒为单位.