2013-07-09 8 views
16

Próbuję dowiedzieć się, jak wykonać konkretne zapytanie z mangustą. mam w MongoDB coś takiego:Zapytanie z mangustą i datami

{ "_id" : 1, "modificationDate" : ISODate("2013-06-26T18:57:30.012Z") } 
{ "_id" : 2, "modificationDate" : ISODate("2013-06-26T18:57:35.012Z") } 

Chcę uzyskać wszystkie obiekty w których różnica pomiędzy rzeczywistą datą i ModificationDate jest większa niż 5 dni.

Odpowiedz

25

Oblicz 5-dniowe stary czas odcięcia, a następnie przeprowadzić find pomocą operatora $lt i obliczoną wartość odcięcia:

var cutoff = new Date(); 
cutoff.setDate(cutoff.getDate()-5); 
MyModel.find({modificationDate: {$lt: cutoff}}, function (err, docs) { ... }); 
+1

inne porównanie operacji: patrz http://docs.mongodb.org/manual/reference/operator/query-comparison / – Reinhard

Powiązane problemy