Используйте $ zip после $ group в агрегации - PullRequest
0 голосов
/ 26 августа 2018

В моем конвейере агрегации после применения этапа $ 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 о $ zip я могу только найти информацию о том, как передать определенный список массивов, но в моем случае число массивов является динамическим, поскольку оно зависит от этапа $ group.

Вопрос: Как мне заархивировать массивы, полученные из $ group?

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...