我的 mongodb 查询没有返回任何结果,我不知道为什么。
这是我的数据的相关内容:
> db.reports.find({},{endDate:1})
{ "_id" : ObjectId("5182882ae4b032c67674c494"), "endDate" : ISODate("2013-05-02T15:37:11.032Z") }
{ "_id" : ObjectId("51828859e4b032c67674c495"), "endDate" : ISODate("2013-05-02T15:37:57.749Z") }
所以我有两个日期为 2013-05-02 15:37:11-57 的条目
我想查找日期小于或等于最新日期的所有条目,但使用此查询没有得到任何结果:
db.reports.find({ "endDate" : { "$lte" : { "$date" : "2013-05-02T15:37:11.032Z"}}},{endDate:1})
我正在使用 java 中生成查询:
BasicDBObject oldReportSelector = (BasicDBObject) BasicDBObjectBuilder.start()
.add("endDate",
BasicDBObjectBuilder.start().add("$lte",myDate).get())
.get();
我在这里做错了什么?
编辑添加: myDate 使用以下方法计算:
Date endDate = new Date()
Date myDate = new Date(endDate.getTime()-(interval*quantityArchivedReports));
当前间隔 = 86400000 和 quantityArchivedReports = 4