从MongoDB查询数组元素然后是字段

时间:2016-01-06 00:06:07

标签: mongodb

假设我在集合中有以下文档:

{  
   "_id":ObjectId("1123562e7c594c12942f"),
   "figures":[  
      {  
         "shape":"square",
         "color":"blue"
      },
      {  
         "shape":"triangle",
         "color":"black"
      }
   ]
}

我想创建一个查询,从数组"shape"的第二个元素中选择字段"figures"

使用db.test.find({}, {"figures": {$slice: [2, 1]}}),您可以访问"figures"的第二个元素,但是您是否还可以从那里选择 字段"shape"

1 个答案:

答案 0 :(得分:1)

使用以下查询

db.test.find({}, {"figures": {$slice: [2, 1]}, "figures.shape": 1}).pretty();