Mongo聚合,访问数组的一部分

时间:2015-05-07 00:15:31

标签: mongodb aggregation-framework

我有一个像这样的mongo文件

{
  '_id': .bson.
  'key': [ 'word1', 'word2', { 'key1': 'value1', 'key2': 'value2' } ] 
},

如何使用mongo聚合框架使文档看起来像这样:

{
  '_id': .bson.
  'key2': 'value2'
},

提前谢谢!

-daniel

1 个答案:

答案 0 :(得分:2)

db.collection.aggregate([ {$unwind: "$key"}, 
                          {$group : {
                                      "_id" : "$_id", 
                                      "key2": {$max: "$key.key2"}
                                    }
                          }])

如果您确定key.key2始终存在于键阵列的 last 元素中,则将$ max替换为$ last。