2012-06-13 5 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というメソッドはありません。ただし、コレクションのようなオブジェクトを返すメソッドはいくつかあります。そのうちの1つはallです。コードは次のようになります:

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

Category.all.countとCategory.countの間にパフォーマンスに影響はありますか? –

+0

@ManojMJ:いいえ、まったく同じクエリです。 –

+1

それは動作しますが、文書o_0でその文書への参照が見つかりませんか? – rocketspacer

関連する問題