2

我正在使用 Mongoid。我有一个如下所示的文档:

Pet:
  foo: {bar: 1, foobar: 2}
  another_attr: 1

在这种情况下,最好使用 Mongoid,我将如何查询 bar 值大于 0 且 another_attr 等于 1 的所有宠物?

4

2 回答 2

7

在 mongo 外壳中:

db.pets.find({"foo.bar":{$gt:0}, another_attr:1});

在蒙古语中:

Pet.where(:'foo.bar'.gt => 0, :another_attr => 1)
于 2012-09-11T15:19:24.420 回答
0

要查找 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

于 2012-09-11T15:21:36.507 回答