Mongodb trova risultati per data oggi

Ho questa domanda per ottenere risultati nel mese. Ma volevo ottenere i risultati di oggi.

var start = new Date(2010, 11, 1); var end = new Date(2010, 11, 30); db.posts.find({created_on: {$gte: start, $lt: end}}); 

Qual è il modo migliore per farlo?

L’object della data di inizio dovrebbe contenere le ore di data corrente a 00:00:00.000 (precisione millisecondi) e impostare le ore per la data odierna a 23:59:59.999 :

 var start = new Date(); start.setHours(0,0,0,0); var end = new Date(); end.setHours(23,59,59,999); 

Quindi passa gli oggetti data modificati come al solito nel tuo operatore di query MongoDB:

 db.posts.find({created_on: {$gte: start, $lt: end}}); 

Se stai usando la libreria momentjs , questo può essere fatto usando i startOf() e endOf() sull’object data corrente del momento, passando la stringa 'day' come argomenti:

 var start = moment().startOf('day'); // set to 12:00 am today var end = moment().endOf('day'); // set to 23:59 pm today