2011-07-07 55 views
17

在Rails中的常規ActiveRecord/SQL設置中,在控制檯中,當我執行命令*.where,*.all等時,我找回實際的記錄項數組。但是,切換到Mongoid後,我反而回到了一個標準。我如何得到實際結果?使用Mongoid獲得實際的結果數組

這是我現在得到...

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

回答

25

當查詢在Mongoid一個模型,它返回一個標準的對象(如你所述),它不實際運行查詢,直到你從標準中請求數據。

所有你需要做的是遍歷結果,使用eachmap或任何陣列的方法,像這樣:

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

或者,如果你只是想在陣列,你可以叫to_a在標準上:

App.all.to_a 
17

App.all.entries也適用。

+0

它的工作原理,但'入口'方法不顯示在其rdoc。 –

相關問題