2013-07-09 18 views
16

Sto cercando di scoprire come eseguire una query specifica con mangusta. ho in MongoDB qualcosa di simile:Interrogazione con mangusta e date

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

voglio per ottenere tutti gli oggetti in cui la differenza tra la data effettiva e modificationDate è superiore a 5 giorni.

risposta

25

Calcolare il 5 giorni-vecchio tempo di taglio e quindi eseguire una find utilizzando l'operatore $lt e il cutoff calcolata:

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

altri operatori confrontare: vedi: http://docs.mongodb.org/manual/riferimento/operatore/query confronto / – Reinhard