我正在使用Mongoid。我有一个类似于以下内容的文档:
Pet:
foo: {bar: 1, foobar: 2}
another_attr: 1
在这种情况下,最好使用Mongoid,如何查询条形值大于0的所有宠物,其中another_attr等于1?
答案 0 :(得分:7)
在mongo shell中:
db.pets.find({"foo.bar":{$gt:0}, another_attr:1});
在mongoid:
Pet.where(:'foo.bar'.gt => 0, :another_attr => 1)
答案 1 :(得分:0)
要查找条形值大于0的所有宠物,您可以在查询中使用$ gt关键字。要访问嵌套字段(bar),可以使用点表示法:
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