3
Допустим, у нас есть коллекция с документами, как показано нижеMongoDB агрегированные документы
{_id:1, name:'a', category:'c1', count:1}
{_id:2, name:'b', category:'c1', count:3}
{_id:3, name:'c', category:'c1', count:5}
{_id:4, name:'d', category:'c2', count:2}
{_id:5, name:'e', category:'c2', count:3}
{_id:6, name:'f', category:'c2', count:6}
{_id:7, name:'g', category:'c2', count:7}
Я пытаюсь построить какую-то "aggregation"
трубопровода
- группы документов по категориям
- Для каждого категория, возврат сверху 2 документа по количеству в порядке убывания
Итак, в в случае, ожидаемый результат должен быть что-то вроде
[
{_id:'c1: docs:[
{_id:3, name:'c', category:'c1', count:5},
{_id:2, name:'b', category:'c1', count:3}
]},
{_id:'c2: docs:[
{_id:7, name:'g', category:'c2', count:7},
{_id:6, name:'f', category:'c2', count:6}
]},
]
В настоящее время, я беру несколько шагов для получения результата
- Определения списка категорий
- Repeat находки {категории: х}, {вида: [[ 'граф', 'убывание']], предел: 2} команда
- результаты сливаются в один общий массив
есть в любом случае к chieve это в "aggregation"
способ?
Вы пытались сделать любой запрос? – Shrabanee
В настоящее время я предпринимаю несколько шагов для работы над этим, как уже упоминалось. – Lee
В любом случае, я понял ответ. Спасибо всем за голосование и комментарии. Выведет ответ за короткое время. – Lee