ruby-on-rails - 查询 Mongoid 哈希字段

我想查询 Mongoid 类的哈希字段。我不确定如何在有条件的情况下做到这一点?

这是一个例子:

class Person
  include Mongoid::Document

  field :things, :type => Hash
end

所以,假设我有这个:

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

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

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

提前致谢。

最佳答案

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

这是 Mongoid 和 MongoDB 真正闪耀的地方。 Mongoid 的 Criteria 方法(Person.wherePerson.any_ofPerson.excludes 等)将比 ActiveRecord 提供更多的灵 active -样式查找器(将 :conditions 哈希传递给 Person.findPerson.first 等)

Mongoid 的网站上有一些关于如何使用 Criteria 的精彩文档:

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

https://stackoverflow.com/questions/4242289/

相关文章:

mongodb - MongoDB中聚合($match)和查找之间的区别?

mongodb - 如何在 MongoDB 中将子文档展平为根级别?

java - Mongodb避免重复条目

java - 如何直接从 Java 中的 mongodb 查询返回原始 JSON?

excel - NODE.JS: fatal error - JS 分配失败 - 进程内存不足,同时

javascript - MongoError,错误 :E11000 duplicate key e

mongodb - mongoengine - 忽略模式验证的额外字段

mongodb - 使用 sphinx 搜索与 mongodb 作为数据源

mongodb - 文档数据库 : Redundant data, 引用等(特别是 MongoDB)

mongodb - 寻找 1 x 100 万个交叉点的最佳解决方案? Redis、Mongo、其他