【问题标题】:Join two mongoid criteria加入两个 mongoid 标准
【发布时间】:2014-01-03 20:36:10
【问题描述】:

我有一个包含两个 Mongoid::Criteria 的数组

[#<Mongoid::Criteria
      selector: {"news_category_id"=>"1"},
      options:  {:sort=>[[:published_date, :desc]], :limit=>1},
      class:    News,
      embedded: false>
    , #<Mongoid::Criteria
      selector: {"news_category_id"=>"2"},
      options:  {:sort=>[[:published_date, :desc]], :limit=>1},
      class:    News,
      embedded: false>
    ]

如何从该标准数组中获取一个 Mongoid::Criteria 对象?

当该数组呈现时,它包含“json 对象数组数组”,我想要一个 json 对象数组。 (单个合并的 json 数组)

【问题讨论】:

    标签: ruby-on-rails-3 mongoid


    【解决方案1】:

    你可以使用:

    criteria1.concat(criteria2) #this worked for me. 
    

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 在我的情况下它不起作用。如果我这样做 array.first.merge(array.second) 它会返回第二个条件对象。
      • @suvankar 当然可以。您正在尝试将 2 个条件与相同的选择器合并。您不能拥有 1 个具有 2 个不同 news_category_id 的文档。合并基本上会根据您的不同标准执行“和”
      【解决方案3】:

      数组,其中包含“json 对象数组”来制作“json 对象数组”我想出了以下解决方案

      array_of_criteria.collect { |aoc| aoc.to_a}.flatten
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多