ruby-on-rails-3 - rails - default value mongoid
Obtención de matriz real de resultados utilizando Mongoid (2)
Con una configuración regular de ActiveRecord / SQL en Rails, en la consola cuando ejecuto los comandos *.where
, *.all
*.where
, etc., *.where
la matriz real de elementos de registro. Sin embargo, después de cambiar a Mongoid, en cambio, obtengo un criterio. ¿Cómo obtengo los resultados reales?
Esto es lo que obtengo ahora ...
ruby-1.9.2-p180 :001 > App.all
=> #<Mongoid::Criteria
selector: {},
options: {},
class: App,
embedded: false>
Cuando consulta un modelo en Mongoid, devuelve un objeto de criterio (como lo ha indicado), en realidad no ejecuta la consulta hasta que solicita datos de los criterios.
Todo lo que necesita hacer es iterar sobre los resultados, usando each
map
o cualquiera de los métodos de matriz, como este:
App.all.each do |app|
puts app.name
end
Alternativamente, si solo desea la matriz, puede llamar a to_a
en los criterios:
App.all.to_a
App.all.entries
funciona también.