Mongodb: запрос на основе времени в формате ISODate

Предположим, что примеры документов в базе данных Mongodb следующие:

 { "date" : ISODate("2015-11-09T05:58:19.474Z") }
 { "date" : ISODate("2014-10-25T07:30:00.241Z") }
 { "date" : ISODate("2015-11-30T15:24:00.251Z") }
 { "date" : ISODate("2012-01-10T18:36:00.101Z") }

Ожидаемое:

 { "date" : ISODate("2015-11-09T05:58:19.474Z") }
 { "date" : ISODate("2014-10-25T07:30:00.241Z") }

Я заинтересован в поиске документов, чье время в поле «дата» находится между 04:00 и 08:00 независимо от дня, месяца и года. Косвенным запросом должен соответствовать любой «ГГГГ-ММ-ДДТ» в поле даты.

Мой подход заключается в том, чтобы запросить все документы в пределах предполагаемой продолжительности дат из узла, а затем для каждого документа, который соответствует запросу, сравнить поле даты «date» документа с «yyyy-MM-DDT» + «required_time» («YYYY- MM-DD копируется из "поля даты" каждого документа для сравнения путем преобразования в moment () и получения месяца, даты и года ") с помощью модуля moment.js.

Есть ли способ сделать запрос, чтобы напрямую получить те же результаты?

Примечание: я использую nodejs для подключения к mongodb

Ответы на вопрос(1)

Ваш ответ на вопрос