我正在使用 Mongoid。我有一个如下所示的文档:
Pet:
foo: {bar: 1, foobar: 2}
another_attr: 1
在这种情况下,最好使用 Mongoid,我将如何查询 bar 值大于 0 且 another_attr 等于 1 的所有宠物?
在 mongo 外壳中:
db.pets.find({"foo.bar":{$gt:0}, another_attr:1});
在蒙古语中:
Pet.where(:'foo.bar'.gt => 0, :another_attr => 1)
要查找 bar 值大于 0 的所有宠物,可以在查询中使用 $gt 关键字。要访问嵌套字段(栏),您可以使用点表示法:
db.pet.find( {"foo.bar" : {$gt : 0}})
然后,还要求 another_attr 等于 1,您可以在查询中添加另一个要求:
db.pet.find( {"foo.bar" : {$gt : 0} , another_attr : 1 } )
您可以在此处找到有关高级查询的文档:http ://www.mongodb.org/display/DOCS/Advanced+Queries