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