Consulta mongoide por rangos de fechas

¿Cómo puedo escribir dónde consultar por dos rangos de fechas? La única condición es que estos datos se deben recuperar mediante una consulta. Gracias.

UPD: ¿o cómo unir 2 consultas en una colección? no matriz

preguntado el 08 de noviembre de 11 a las 09:11

2 Respuestas

Usted puede fácilmente or los dos rangos:

Post.all.
     or(:created_at.gt => Time.now - 3.months, :created_at.lte => Time.now - 2.months).
     or(:created_at.gt => Time.now - 1.month, :created_at.lte => Time.now)

respondido 08 nov., 11:19

La unión se puede hacer usando cualquiera de Criterios. any_of criterio es similar a SQL OR y tiene un alias como "o" para facilitar la lectura. Aquí se explica cómo consultar dos rangos de tiempo.

date1 = Date.new(2016,2,3)
date2 = Date.new(2016,2,4)
date3 = Date.new(2016,3,3)
date4 = Date.new(2016,3,4)
User.any_of({:created_at=>  date1..date2},{:created => date3..date4})

Respondido 29 ago 16, 17:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.