我想查询 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.where
、Person.any_of
、Person.excludes
等)将比 ActiveRecord 提供更多的灵 active -样式查找器(将 :conditions
哈希传递给 Person.find
、Person.first
等)
Mongoid 的网站上有一些关于如何使用 Criteria
的精彩文档:
http://mongoid.org/en/mongoid/docs/querying.html
https://stackoverflow.com/questions/4242289/
相关文章:
mongodb - MongoDB中聚合($match)和查找之间的区别?
mongodb - 如何在 MongoDB 中将子文档展平为根级别?
java - 如何直接从 Java 中的 mongodb 查询返回原始 JSON?
excel - NODE.JS: fatal error - JS 分配失败 - 进程内存不足,同时
javascript - MongoError,错误 :E11000 duplicate key e
mongodb - mongoengine - 忽略模式验证的额外字段
mongodb - 使用 sphinx 搜索与 mongodb 作为数据源