Запрос на моноидный хеш-поля
-
27-09-2019 - |
Вопрос
Я хочу запрашивать на хеш-поле для магнитомального класса. Я не уверен, как я могу сделать это с условиями?
Вот пример:
class Person
include Mongoid::Document
field :things, :type => Hash
end
Итак, скажем, что у меня есть это:
p = Person.new
p.things = {}
p.things[:tv] = "Samsung"
Я хочу запрашивать для первого человека с телевизором, который является Samsung ...
People.first(:conditions => ?????
Заранее спасибо.
Решение
Person.where('things.tv' => 'Samsung').first
Это где монгоидный и монгодб действительно сияет. Методы критериев монгоида (Person.where
, Person.any_of
, Person.excludes
, и т. д.) даст вам гораздо больше гибкости, чем поиск в стиле ActiveSerecord (передает :conditions
хеш Person.find
, Person.first
, так далее.)
У сайта Монгоида есть большая документация о том, как использовать Criteria
:
Не связан с StackOverflow