2017-06-07 23 views
1

私はMongoの2つのISODateフィールドを比較するには?

"DATE_1" : ISODate("2017-08-11T04:00:00Z") 
"DATE_2" : ISODate("2017-06-12T04:00:00Z") 

私は「日付2」よりも大きい「DATE_1」との文書を選択したいと思い、私の文書には、このような2つのフィールドを持っていると私はdocument.But上記をそのない返す必要があり、次のクエリを試してみました結果を与える

db.collection.find({"DATE_1":{$gte:"DATE_2"}}) 

Mongoの2つのISODateフィールドを比較するにはどうすればよいですか?また、Springの日付mongodbを使用してこのクエリを作成するにはどうすればよいですか?このようなもの?

Criteria.where("DATE_1").gte("DATE_2"); 
+0

いいえ、あなたは、このようなクエリをすることはできません。とにかく、通常のクエリ言語ではありません。あなたの唯一の希望は '$ where'(遅い)とおそらくアグリゲーションパイプライン –

答えて

0

これは動作するはずです。これを試して、あなたのフィードバックをお寄せください。

db.getCollection('collectionName').find({$where: function() { 

    if (this.DATE_1 > this.DATE_2) return true; 

return false; 

}})

関連する問題