【问题标题】:Mongoid query by date ranges按日期范围查询 Mongoid
【发布时间】:2011-11-08 09:57:53
【问题描述】:

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

UPD:或者如何将 2 个查询合并到一个集合中?不是数组

【问题讨论】:

    标签: ruby-on-rails nosql mongoid


    【解决方案1】:

    你可以轻松or这两个范围:

    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)
    

    【讨论】:

      【解决方案2】:

      联合可以使用 any_of 标准来完成。 any_of 条件类似于 SQL OR,为了便于阅读,别名为“或”。这里是查询两个时间范围的方法。

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

      【讨论】:

        猜你喜欢
        • 2011-08-19
        • 1970-01-01
        • 1970-01-01
        • 2018-04-10
        • 2017-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多