如果我尝试将日期字段放入文档 (BSON) 并将其写入 Mongo,BSON 会以 UTC 格式写入。例如,日期
DateTime dateTime = new DateTime("2015-07-01");
Document doc = new Document("date", dateTime.toDate());
将被存储为
"date" : ISODate("2015-06-30T18:30:00Z")
在蒙古。而且,如果我使用相同的 Java 驱动程序检索它,我会得到它
Wed Jul 01 00:00:00 IST 2015
太好了。没有解决办法吗?我的意思是,为什么我不能按我的意愿存储我的日期?如果我需要从另一个时区查询数据库怎么办?我会得到不同的结果吗?日期字段是 Mongo 的重要组成部分,周围有丰富的运算符。不过,为什么 Mongo 不提供这种灵 active 呢? 谢谢
最佳答案
IMO,mongo 做的一切都是正确的。您使用本地时区实例化日期,然后以 UTC 将其存储在 mongo 中。然后,当您要求 mongo 为您检索它时,它会再次将日期转移到您本地的时区。
如果您不想处理时区转换,只需使用以下标志将您的本地时区设置为 UTC:
-Duser.timezone="UTC"
https://stackoverflow.com/questions/31654567/
相关文章:
mongodb - 如何在 Meteor 服务器端做 mongo 组
linux - 从 bash 脚本向 Mongo shell 传递命令,而不停止交互式 Mongo
angularjs - angularjs可以直接连接mongodb吗?
mongodb - 如何在 MongoDB 中获取(或聚合)数组的不同键
python - 如何将 MongoDB 集合名称作为参数传递给 DB 连接函数-Python
mongodb - 引用错误 : require is not defined in MongoDB