我想在Hash字段上查询Mongoid类。我不确定如何用条件做到这一点?
以下是一个例子:
class Person
include Mongoid::Document
field :things, :type => Hash
end
所以,让我说我有这个:
p = Person.new
p.things = {}
p.things[:tv] = "Samsung"
我想查询第一个拥有三星电视的人......
People.first(:conditions => ?????
提前致谢。
答案 0 :(得分:45)
Person.where('things.tv' => 'Samsung').first
这是Mongoid和MongoDB真正闪耀的地方。 Mongoid的Criteria方法(Person.where
,Person.any_of
,Person.excludes
等)将比ActiveRecord样式的查找器提供更多的灵活性(将:conditions
哈希传递给{{1 },Person.find
等。)
Mongoid的网站提供了一些关于如何使用Person.first
的优秀文档: