汇总$ group后使用$ zip

时间:2018-08-26 06:52:51

标签: mongodb aggregation-framework

在应用了$ group阶段之后,在聚合管道中,我的数据结构如下:

[{'_id': 'shop a',
  'fruits': [{'_id': '...',
              'name': 'Banana'},
             {'_id': '...',
              'name': 'Apple'},
             {'_id': '...',
              'name': 'Peach'}]
 },
 {'_id': 'shop b',
  'fruits': [{'_id': '...',
              'name': 'Mango'},
             {'_id': '...',
              'name': 'Papaya'},
             {'_id': '...',
              'name': 'Cherry'}]
 }]

现在,我想压缩水果数组,以便得到这样的数组:

{
  'fruits': [{'_id': '...',
              'name': 'Banana'},
             {'_id': '...',
              'name': 'Mango'},
             {'_id': '...',
              'name': 'Apple'},
             {'_id': '...',
              'name': 'Papaya'},
             {'_id': '...',
              'name': 'Peach'},
             {'_id': '...',
              'name': 'Cherry'}]
}

mongodb documentation about $zip中,我只能找到有关如何传递特定数组列表的信息,但是在我的情况下,数组的数量是动态的,因为它取决于$ group阶段。

问题:如何压缩$ group产生的阵列?

感谢您的帮助!

0 个答案:

没有答案