rails ruby-on-rails-3 mongoid activemodel

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.