Mongodb Aggregation преобразовывает массив json в массив массивов - PullRequest
0 голосов
/ 01 марта 2019

Возможно ли это:

конвертировать

[ { "a": 1, "b": 2}, { "a": 4, "b": 5" } ]

в

[ [1,2], [4,5] ]

Я прошу возможную агрегированную операцию для этого.

1 Ответ

0 голосов
/ 01 марта 2019

Поскольку Mongodb построен на концепции Json Documents, вам может быть трудно это сделать.

Если ваша коллекция небольшая и производительность не представляет проблемы, вы можете использовать встроенную foreach метод (или map ) для изменения каждого документа, возвращенного запросом find, который может выполнить то, что вам нужно - , но для каждого результата будет выполняться клиентская сторона , который не будет очень производительным.Посмотрите на этот ответ для примера.

В противном случае вы могли бы попытаться сделать что-то подлое с mapReduce , но я думаю, что это толькоподдерживает возврат пар ключ-значение.

Я предполагаю, что вам лучше обработать это в своем собственном коде на клиенте, получив весь набор результатов запроса за одну операцию (в формате Json), а затем обработав документы для построения массиватебе нужно.

...