Mongodb: consulta com base no horário no formato ISODate

Suponha que os documentos de amostra no banco de dados Mongodb sejam os seguintes:

 { "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") }

Esperado:

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

Estou interessado em encontrar os documentos cujo horário no campo "data" é entre 04:00 e 08:00, independentemente do dia, mês e ano. A consulta indireta deve corresponder a qualquer "AAAA-MM-DDT" no campo de data.

Minha abordagem seria: consultar todos os documentos dentro da duração presumida das datas do nó e, em seguida, para cada documento que correspondeu à consulta, compare o campo "data" do documento com "aaaa-MM-DDT" + "required_time" ("AAAA- O MM-DD é copiado do "campo de data" de cada documento para comparar, convertendo em moment () e obtendo mês, data e ano ") usando o módulo moment.js.

Existe alguma maneira de consultar para obter diretamente os mesmos resultados?

Nota: Estou usando o nodejs para conectar-se ao mongodb