ruby-on-rails ruby mongodb mongoid nosql

ruby on rails - Consulta en Mongoid Hash Field



ruby-on-rails mongodb (1)

Quiero consultar en un campo Hash para una Clase de Mongoid. No estoy seguro de cómo puedo hacer esto con condiciones?

Aquí hay un ejemplo:

class Person include Mongoid::Document field :things, :type => Hash end

Entonces, digamos que tengo esto:

p = Person.new p.things = {} p.things[:tv] = "Samsung"

Quiero consultar a la primera persona con un televisor que es un Samsung ...

People.first(:conditions => ?????

Gracias por adelantado.


Person.where(''things.tv'' => ''Samsung'').first

Aquí es donde realmente brillan Mongoid y MongoDB. Los métodos de Criterio de Person.where ( Person.where , Person.any_of , Person.excludes , etc.) le darán mucha más flexibilidad que los buscadores de estilo ActiveRecord (pasando un :conditions hash de :conditions a Person.find , Person.first , etc.)

El sitio de Mongoid tiene una gran documentación sobre cómo usar los Criteria :

http://mongoid.org/en/mongoid/docs/querying.html