Подтвердить что ты не робот

Запрос на монгодском хэш-поле

Я хочу запросить поле Hash для класса Mongoid. Я не уверен, как я могу это сделать с условиями?

Вот пример:

class Person
  include Mongoid::Document

  field :things, :type => Hash
end

Итак, скажем, что у меня есть это:

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

Я хочу запросить первого человека с телевизором, который является Samsung...

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

Спасибо заранее.

4b9b3361

Ответ 1

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

Именно здесь действительно блестят монгольские и MongoDB. Методы методов Mongoid Criteria (Person.where, Person.any_of, Person.excludes и т.д.) Дадут вам гораздо большую гибкость, чем искатели в стиле ActiveRecord (передача хеша :conditions до Person.find, Person.first и т.д.)

На сайте Mongoid есть отличная документация о том, как использовать Criteria:

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