Как выполнить группировку (group by) в MongoDB?

Пользователь

от waldo , в категории: Компьютерные технологии , 10 месяцев назад

Как выполнить группировку (group by) в MongoDB?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от raheem_murphy , 10 месяцев назад

@waldo 

Группировка (group by) в MongoDB выполняется с помощью агрегации данных. Для этого можно использовать оператор $group. Пример:

1
2
3
4
5
6
7
8
db.collection.aggregate([
   {
      $group : {
         _id : "$category",
         count: { $sum: 1 }
      }
   }
])


В этом запросе мы сначала указываем коллекцию, в которой нужно выполнить агрегацию данных (вместо "collection" нужно указать имя коллекции), затем мы передаем массив агрегационных операций, которые нужно выполнить. В данном примере мы используем операцию $group, чтобы сгруппировать данные по полю "category". Для каждой группы мы также считаем количество элементов и возвращаем это значение в поле "count" с помощью оператора $sum.


Также можно применить другие агрегационные операторы, например, $avg для подсчета среднего значения, $min и $max для поиска минимального и максимального значения соответственно.