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

时间:2013-01-24 08:03:57

标签: mongodb timezone

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

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

SET time_zone = timezone;
// do queries here

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

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

2 个答案:

答案 0 :(得分:19)

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

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

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

答案 1 :(得分:1)

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

另外,这个网站也可能会为将来的退款而派上用场:) http://www.querymongo.com/