Агрегация в MongoDB: $group — примеры группировки

Оператор $group в MongoDB позволяет эффективно группировать документы. Рассмотрим несколько примеров его использования.

Группировка по полю age

Этот пример демонстрирует простой запрос с одним этапом агрегации — $group. Группировка выполняется по полю age. Запрос содержит оператор $group с полями _id и, возможно, другими полями для агрегации.

Поле _id обязательно и содержит ключ _id со значением $age. Это выражение ссылается на поле age входных документов. Входные документы — вся коллекция persons. Все документы группируются по значению поля age.

Результат — набор документов, каждый из которых содержит уникальное значение поля age из коллекции persons. Получаем список всех уникальных возрастов (например, 27, 35 и т.д.). Результаты не отсортированы.

Группировка по различным полям

Этот пример иллюстрирует группировку по различным полям.

Группировка по полю gender ("$gender") возвращает два документа с уникальными значениями: «male» и «female».

Группировка по полю eyeColor ("$eyeColor") возвращает три результата: «brown», «blue» и «green».

Группировка по полю name ("$name") возвращает 1000 документов, предполагая, что имена в коллекции уникальны.

Группировка по полю age ("$age") возвращает 21 результат — все уникальные возрасты из коллекции.

Группировка по вложенным полям

В дальнейшем будет рассмотрен пример группировки по вложенным полям.

Оператор $group обеспечивает гибкий и простой способ группировки документов в MongoDB, позволяя получать агрегированные данные. Мы рассмотрели примеры группировки по одному и нескольким полям, включая поля с уникальными и повторяющимися значениями.

Что будем искать? Например,программа