MongoDB Shell查询时间戳范围在Java中不起作用

时间:2019-02-22 09:55:21

标签: java mongodb

mongoDB shell中的以下查询

   db.getCollection('Consolidated Records').find({'timestamp': {$gte: 1500000036316, $lte:1500001136316}})

正在工作并返回几条记录。

Java中的相同查询如下:

long firstTimestamp = 1500000036316L;
long lastTimestamp = 1500001136316L;     
BasicDBObject query = new BasicDBObject("timestamp", new BasicDBObject("$gte", firstTimestamp).append("$lte", lastTimestamp));
DBCursor oneDayCursor = collection.find(query);
在同一数据库集合上调用

不会返回任何结果。

您知道Java代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

MongoDB的版本是什么?

如果您使用的是3.x,则可以使用以下代码

FindIterable<Document> findCursor = newCol.find(Filters.and(
                    Filters.gte("firstTimestamp", firstTimestamp),
                    Filters.lte("lastTimestamp ", lastTimestamp )));