Ruby on rails 按日期范围的Mongoid查询

Ruby on rails 按日期范围的Mongoid查询,ruby-on-rails,nosql,mongoid,Ruby On Rails,Nosql,Mongoid,如何按两个日期范围编写where查询?唯一的条件是必须通过一个查询检索此数据。多谢各位 UPD:或者如何在一个集合中合并2个查询?非数组您可以轻松地或两个范围: 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

如何按两个日期范围编写where查询?唯一的条件是必须通过一个查询检索此数据。多谢各位


UPD:或者如何在一个集合中合并2个查询?非数组

您可以轻松地
两个范围:

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)

您可以轻松地
这两个范围:

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)
联合可以使用任何标准。任何条件都类似于SQL或,并且为了可读性而别名为“或”。下面是如何查询两个时间范围

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})
联合可以使用任何标准。任何条件都类似于SQL或,并且为了可读性而别名为“或”。下面是如何查询两个时间范围

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