9

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

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

SET time_zone = timezone;
// do queries here

对于这种需求,有没有类似的解决方案?

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

4

2 回答 2

19

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

存储日期和时间的最佳方式是通过 Javascript Date对象。这将允许您使用 getTime() 和 Date(milliseconds) 在 Unix 时间戳之间转换日期。

应该注意的是,Javascript 以毫秒为单位存储自 UNIX 纪元以来的时间,而标准的UNIX 时间戳以自纪元以​​来的秒数为单位。

于 2013-02-20T15:39:49.223 回答
1

在这里讨论了类似的问题, https://groups.google.com/forum/?fromgroups=#!topic/mongodb-user/PodDGnWM09Q

此外,这个网站也可能会派上用场以供将来参考:) http://www.querymongo.com/

于 2013-01-24T08:14:28.533 回答