MongoDB $group: Руководство по агрегации

Оператор $group в MongoDB является важной частью агрегационных запросов. Рассмотрим его синтаксис и применение на примерах.

Синтаксис и основы $group

Синтаксис оператора $group: $group: { <объект> }. Объект содержит пары «ключ-значение», где ключи – имена полей, а значения – выражения. Поле _id обязательно, остальные – опциональны.

В примере {$group: { _id: <выражение>}}, _id определяет критерий группировки. Выражение справа от _id указывает поле, по которому будут группироваться документы. Результатом будет набор документов, каждый из которых содержит поле _id и, потенциально, другие поля, вычисляемые с помощью операторов агрегации.

Примеры использования $group

Рассмотрим примеры работы оператора $group.

Пример 1: Группировка по одному полю

{$group: { _id: "$age" }}

Группировка документов по полю age. Результат – набор документов, где поле _id содержит уникальные значения поля age исходных документов (например, 20, 21, 23).

Пример 2: Группировка по нескольким полям

{$group: { _id: { age: "$age", gender: "$gender" } }}

Группировка по уникальным парам значений полей age и gender. Результат – набор документов, где поле _id содержит вложенный документ с полями age и gender, представляющими уникальные комбинации этих значений.

Оператор $group: Резюме

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

Практическое применение

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

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