Java/MongoDB 按日期查询

2024-05-16

我将一个值作为 java.util.Date() 存储在我的集合中,但是当我查询以获取两个特定日期之间的值时,我最终得到的值超出了范围。这是我的代码:

插入

BasicDBObject object = new BasicDBObject();
...
object.put("dateAdded", new java.util.Date());
collection.insert(object);

to query

BasicDBObject query = new BasicDBObject();
query.put("dateAdded", new BasicDBObject("$gte", fromDate));
query.put("dateAdded", new BasicDBObject("$lte", toDate));
collection.find(query).sort(new BasicDBObject("dateAdded", -1));

当我查询之间Wed Jul 27 16:54:49 EST 2011 and Wed Jul 27 16:54:49 EST 2011(基本上 fromDate = toDate),我得到带有日期的对象,例如Tue Jul 26 09:43:37 EST 2011这绝对是不可能的。我在这里缺少什么?


你所做的只是查询{$lte: toDate} losing $gte键中的运算符覆盖。你想要的是:

query.put("dateAdded", BasicDBObjectBuilder.start("$gte", fromDate).add("$lte", toDate).get());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java/MongoDB 按日期查询 的相关文章

随机推荐