这是我在mongodb的收藏
{
"_id" : ObjectId("58553f0318e2893724222cdb"),
"name" : "abc",
"datetime" : ISODate("2017-01-23T10:50:50.574Z")
}
{
"_id" : ObjectId("58553f0318e2893724222cdb"),
"name" : "abc",
"datetime" : ISODate("2016-01-23T10:50:50.574Z")
}
{
"_id" : ObjectId("58553f0318e2893724222cdb"),
"name" : "abc",
"datetime" : ISODate("2015-01-23T10:50:50.574Z")
}
我使用java驱动程序查询此集合,如下所示
MongoCollection<Document> collection = db.getCollection("collection");
Document DateFilter = new Document("datetime", new Document("$gt",new Date()));
int count = collection.find(DateFilter).size();
计数返回0.(它应该返回1) 无论我使用什么范围,总是返回0
DateFilter.toJson(),返回以下内容
{ "datetime" : { "$gte" : { "$date" : 1482524040000 } } }
当我使用上面的json作为过滤器直接查询mongodb shell时,不会返回任何内容。
当我使用下面的json作为过滤器时,返回正确的结果
{"datetime" : { "$gt" : ISODate("2016-12-24T20:56:05.423Z") } }
答案 0 :(得分:0)
对不起。我实际上使用的是超过集合总数的skip,这就是为什么它没有返回任何东西。