Подтвердить что ты не робот

Mongodb нахожу созданные результаты по дате сегодня

У меня есть этот запрос, чтобы получить результаты в месяц. Но я хотел получить результаты сегодняшнего дня.

var start = new Date(2010, 11, 1);
var end = new Date(2010, 11, 30);

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

Каков наилучший способ сделать это?

4b9b3361

Ответ 1

Объект начальной даты должен содержать текущие часы времени в 00:00:00.000 (точность миллисекунд) и установить часы для сегодняшней даты на 23:59:59.999:

var start = new Date();
start.setHours(0,0,0,0);

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

Затем передайте объекты с измененной датой как обычно в вашем операторе запросов MongoDB:

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

Если вы используете библиотеку momentjs, это можно сделать, используя startOf() и endOf() в текущий момент, передавая строку 'day' в качестве аргументов:

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