Zapytanie dotyczące pola Hash Mongoid

Chcę zapytać o Pole Hash dla klasy Mongoid. Nie jestem pewien, jak Mogę to zrobić z warunkami?

Oto przykład:

class Person
  include Mongoid::Document

  field :things, :type => Hash
end

Więc powiedzmy, że mam to:

p = Person.new
p.things = {}
p.things[:tv] = "Samsung"
[3]} chcę zapytać o pierwszą osobę z telewizorem, który jest Samsungiem...
People.first(:conditions => ?????
Z góry dzięki.
Author: Community, 2010-11-22

1 answers

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

To jest miejsce, gdzie Mongoid i MongoDB naprawdę świecą. Metody kryteriów mongoida (Person.where, Person.any_of, Person.excludes, itd.) daje znacznie większą elastyczność niż w wyszukiwarkach w stylu ActiveRecord (przekazując hash :conditions do Person.find, Person.first, itd.)

Strona Mongoid ma świetną dokumentację jak używać Criteria:

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

 43
Author: bowsersenior,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-12 09:09:10