← К оглавлению занятия

🏠 Домашнее задание

📁 Блок: MongoDB / Aggregation Pipeline ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя

⚡ Кратко: суть занятия

Занятие 62 вводит агрегацию MongoDB как цепочку стадий.

Aggregation Pipeline передаёт документы от одной стадии к следующей.

$match фильтрует, $group группирует, $sort сортирует, $skip пропускает, $limit ограничивает, $project выбирает поля.

В $group ключ группировки записывается в _id.

$sum: 1 считает документы в группе.

$avg, $max, $min, $round, $first и $last считают значения внутри групп.

Compass позволяет собирать стадии визуально и копировать массив pipeline из квадратных скобок.

Топ-3 ошибки: фильтровать после группировки не тем полем, забыть знак $ перед полем, группировать массив countries без понимания структуры результата.

Домашнее задание и проверка

Домашнее задание из источника: найти средний возраст в ich.US_Adult_Income; создать orders_NAME с 6 покупками; посчитать все покупки, покупки Apple, три самые дорогие покупки, покупки в Berlin, покупки Apple в Berlin и Madrid; посчитать сумму по каждому customer; найти города покупок Olga.

Как проверить себя

  1. Каждый запрос запускается без синтаксической ошибки.
  2. Фильтр соответствует словам задачи: «и», «или», «нет поля», «топ», «посчитать».
  3. Для команд изменения данных сначала выполнен безопасный find() с тем же фильтром.
  4. Результат можно объяснить одним предложением.