2012-06-13 17 views
6

Przeszukuję Mongo, ale nie mogę wykonać tego prostego przykładu. Ja po prostu próbuje pobrać wszystkie dokumenty w kolekcji:Odnajdywanie wszystkich dokumentów w kolekcji z Mongoidem

require 'mongoid' 

# configuration ...  

class Category 

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

end 

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

pojawia się błąd: undefined method 'each' for Category:Class (NoMethodError).

połączenie z bazą danych jest dobrze rozwinięta, a zbiór nazwany categories zawiera kilka dokumentów.

Odpowiedz

12

Category w rzeczywistości nie ma metody each, ponieważ jest to klasa modelu, a nie kolekcja. Ma jednak kilka metod, które zwracają obiekty podobne do kolekcji. Jednym z nich jest all. Kod powinien wyglądać tak:

+0

Czy istnieje wpływ na wydajność między Category.all.count a Category.count? –

+0

@ManojMJ: nie, to dokładnie to samo zapytanie. –

+1

Działa, ale nie mogę znaleźć żadnych odniesień do niego w dokumentach o_0? – rocketspacer

Powiązane problemy