2016-12-23 5 views
0

これは、MongoDBの中で私のコレクションですMongoDBの日付クエリ - 使用してJavaドライバ戻らない結果

{ 
     "_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シェルに問い合わせると、何も返されません。

私はフィルタとして以下のJSONを使用すると、正しい結果が

{"datetime" : { "$gt" : ISODate("2016-12-24T20:56:05.423Z") } } 
+0

すべての文書に同じIDがあるのはなぜですか? – Veeram

答えて

0

申し訳ありませんが返されます。私は実際にコレクションの合計数を超えるスキップを使用していたため、何も返されませんでした。

関連する問題