我正在尝试将我的应用程序数据库从Mysql转移到Mongodb,但我遇到了日期查询的问题。
在Mysql中,当有datetime或timestamp列时,您可以使用命令为每个请求设置特定的时区:
SET time_zone = timezone;
// do queries here
对于这种需求,是否有任何类似的解决方案?
我知道应用程序可以在从mongodb检索数据后完成这项工作,但是如果使用$ hour,$ month或$ day运算符进行聚合呢?
答案 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/