2012-06-13 70 views
6

我一直在弄弄Mongo,但無法得到這個簡單的例子。我只是試圖檢索所有文檔集合中:使用Mongoid查找集合中的所有文檔

require 'mongoid' 

# configuration ...  

class Category 

    include Mongoid::Document 
    field :name, type: String 

end 

Category.each do |test| 
    puts test.inspect 
end 

我得到的錯誤:undefined method 'each' for Category:Class (NoMethodError).

連接到數據庫中是公認的,和一個叫categories集合包含幾個文件。

回答

12

Category確實沒有一個方法each,因爲它是一個模型類,而不是一個集合。但是,它有幾種方法可以返回類似集合的對象。其中之一是all。所以代碼應該看起來像這樣:

Category.all.each do |test| 
    puts test.inspect 
end 
+0

Category.all.count和Category.count之間是否有任何性能影響? –

+0

@ManojMJ:不,這是完全相同的查詢。 –

+1

它的工作原理,但我找不到文件o_0中的任何引用? – rocketspacer

相關問題