【问题标题】:Getting actual array of results using Mongoid使用 Mongoid 获取实际结果数组
【发布时间】:2011-07-07 06:56:34
【问题描述】:

使用 Rails 中的常规 ActiveRecord/SQL 设置,当我在控制台中执行命令 *.where、*.all 等时,我会返回记录项的实际数组。然而,在切换到 Mongoid 之后,我反而得到了一个标准。如何获得实际结果?

这就是我现在得到的......

ruby-1.9.2-p180 :001 > App.all
 => #<Mongoid::Criteria
  selector: {},
  options:  {},
  class:    App,
  embedded: false>

【问题讨论】:

    标签: ruby-on-rails-3 mongoid activemodel


    【解决方案1】:

    当您在 Mongoid 中查询模型时,它会返回一个条件对象(如您所说),直到您从条件中请求数据时它才会真正运行查询。

    您需要做的就是迭代结果,使用each 或map 或任何数组方法,如下所示:

    App.all.each do |app|
      puts app.name
    end
    

    或者,如果你只想要数组,你可以在条件上调用to_a:

    App.all.to_a
    

    【讨论】:

      【解决方案2】:

      App.all.entries 也可以。

      【讨论】:

        猜你喜欢
        • 2012-11-11
        • 2011-05-28
        • 2022-01-03
        • 1970-01-01
        • 2011-01-13
        • 1970-01-01
        • 1970-01-01
        • 2021-11-29
        • 1970-01-01
        相关资源
        最近更新 更多