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

⚠️ Ошибки

📁 Блок: MongoDB / повторение aggregation ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение

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

Summary session 19 повторяет практические стадии aggregation pipeline.

$bucket раскладывает документы по диапазонам, например цену жилья в Барселоне.

$match фильтрует документы, $project выбирает поля, $unwind разворачивает массив reviews.

$set добавляет поля, $unset удаляет лишнее, $out записывает новую коллекцию.

Практические задачи повторяют reviews, average score, total в sales, активного reviewer, популярные cuisines, $lookup и Brighton Beach.

Закрепляющий тест спрашивает use, find, выборку по _id и skip(5).

Разбор ДЗ 19 работает с ich.Spotify_Youtube: Danceability, Energy, Duration_ms, Album, Views, Stream и экспорт top20.

Топ-3 ошибки: путать $out и $merge, забыть $unwind перед отзывами, считать skip(5) фильтром по цифре 5.

Типичные ошибки

Считать $out безопасным обновлением

Симптом: $out перезаписывает или создаёт коллекцию.

Исправление: Для обновления существующих документов чаще нужен $merge; $out используйте, когда источник прямо требует новую коллекцию.

Забыть $unwind reviews

Симптом: Группировка считает listings, а не отдельные отзывы.

Исправление: Разверните массив перед подсчётом reviewer или score.

Путать $project и $set

Симптом: Поле не появляется или пропадают нужные поля.

Исправление: $set добавляет/изменяет, $project задаёт форму результата.

Неправильно понимать skip(5)

Симптом: Ожидается поиск документов с цифрой 5.

Исправление: skip(5) пропускает первые 5 документов и возвращает остальные.

Неверный localField в $lookup

Симптом: transactions остаётся пустым массивом.

Исправление: Проверьте пару accounts/account_id из источника.