查询Mongoid Hash字段

时间:2010-11-22 04:30:26

标签: ruby-on-rails ruby mongodb mongoid nosql

我想在Hash字段上查询Mongoid类。我不确定如何用条件做到这一点?

以下是一个例子:

class Person
  include Mongoid::Document

  field :things, :type => Hash
end

所以,让我说我有这个:

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:45)

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

这是Mongoid和MongoDB真正闪耀的地方。 Mongoid的Criteria方法(Person.wherePerson.any_ofPerson.excludes等)将比ActiveRecord样式的查找器提供更多的灵活性(将:conditions哈希传递给{{1 },Person.find等。)

Mongoid的网站提供了一些关于如何使用Person.first的优秀文档:

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