我是Mongodb的新手。我想找到存储在mongodb中的receivedOn
日期大于特定日期的对象。我的对象结构是:
{
"_id" : ObjectId("591313fa79a7f2826cdfcdbd"),
"uuid" : "849cf178-bf19-4a32-bda8-b754551c57f0",
"status" : "SENT",
"receivedOn" : ISODate("2017-05-10T18:51:58.893+05:30"),
"scheduledOn" : ISODate("2017-05-10T18:51:58.893+05:30"),
"deliveredOn" : ISODate("2017-05-10T18:52:02.628+05:30")
}
我正在使用Jongo驱动程序进行查询。我的查询如下:
collection.find("{\"receivedOn\": {$gte : #}}", javaDate);
我从这个查询中得不到任何结果,但是收集中有应该返回的文档。我的查询出了什么问题?
答案 0 :(得分:0)
db.CollectionName.find({"receivedOn" : new ISODate("2017-05-10T18:51:58.893+05:30") });
答案 1 :(得分:0)
当您使用java,util.Date时,Date对象转换为json时可能会出现时区问题。 Java可能会根据时区向您的日期添加/减去小时数。理想情况下,在存储日期时,它们应该是UTC格式,并且在检索时,它们应该是UTC。