使用Mongo查询数组中对象中的字段?

时间:2013-06-12 20:56:51

标签: mongodb

是否可以使用Mongo查询数组中对象中字段中具有特定值的条目。

例如,假设我想找到其中field1有一个对象数组的所有对象,其中一个对象的字段为'one',值为1.此查询应从我的集合中返回以下对象:

{_id: 0000, field1: [{one: 1, two: 2}, {one: 'uno', two: 'dos'}]}

2 个答案:

答案 0 :(得分:32)

我想你需要的是:

db.collection.find( { field1: { $elemMatch: { one: 1 } } } );

http://docs.mongodb.org/manual/reference/operator/elemMatch/#op._S_elemMatch

答案 1 :(得分:0)

这是一个古老的问题,但是执行此查询的一种更简单的方法是使用dot notation

db.collection.find({'field1.one': 1})