2014-08-28 24 views
0

我有一大堆的文件在我的蒙戈集合,有以下形式:Mongo - 基于数组中第三元素值的查询选择器?

{ 
    name: 'Some Name', 
    price: 1.40, 
    settings: [ 
     { version: 'A'}, 
     { version: 'C'}, 
     { version: 'A'}, 
     { version: 'B'}, 
     { version: 'B'}, 
     { version: 'C'} 
    ] 
} 

我想回到在其中设置数组中的第三元件具有版本的所有文件=“C”。

回答

4

MongoDB的查询方式支持"dot notation"在其中您可以指定要查找的元素的“位置”:

db.collection.find({ "settings.2.version": "C" }) 

这是基于0指数为数组中的第一个元素等等。

所以第三个元素在n-1