2010-09-16 4 views

risposta

8

Mongolo avvolge l'oggetto Raccolta per restituire oggetti della classe corretta.

Quindi, se l'utente è un modello Mongoid:

cursor = User.collection.find({}, {}) # Just like the Ruby driver... 
records = cursor.to_a # An array of User objects 

Modifica per aggiungere: In realtà avvolge classe Cursore di Mongo troppo. See here:

def each 
    @cursor.each do |document| 
    yield Mongoid::Factory.build(@klass, document) 
    end 
end 
+0

che è assolutamente incredibile! sai come il mongo sa materializzare la mia classe mongolo? –

2

Se stai usando Mongoid 3, fornisce un facile accesso al suo driver MongoDB: Moped. Ecco un esempio di accesso ad alcuni dati grezzi senza utilizzare Modelli per accedere ai dati:

db = Mongoid::Sessions.default 
collection = db[:collection_name] 

# finding a document 
doc = collection.find(name: 'my new document').first 

collection.find.each do |document| 
    puts document.inspect 
end