查询Mongoid Hash字段

JP *_*son 26 ruby ruby-on-rails mongodb nosql mongoid

我想在Hash字段上查询Mongoid类.我不确定我怎么能用条件做到这一点?

这是一个例子:

class Person
  include Mongoid::Document

  field :things, :type => Hash
end
Run Code Online (Sandbox Code Playgroud)

那么,让我们说我有这个:

p = Person.new
p.things = {}
p.things[:tv] = "Samsung"
Run Code Online (Sandbox Code Playgroud)

我想查询第一个拥有三星电视的人......

People.first(:conditions => ?????
Run Code Online (Sandbox Code Playgroud)

提前致谢.

bow*_*ior 46

Person.where('things.tv' => 'Samsung').first
Run Code Online (Sandbox Code Playgroud)

这就是Mongoid和MongoDB真正闪耀的地方.Mongoid的标准方法(Person.where,Person.any_of,Person.excludes等),会给你比ActiveRecord的风格发现者更大的灵活性(通过一个:conditions散列Person.find,Person.first等等)

Mongoid的网站有一些关于如何使用的很好的文档Criteria:

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