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

🔖 Справочник

📁 Блок: 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.

Команды и операторы занятия

$bucket

Категоризация по диапазонам.

{ $bucket: { groupBy: "$price", boundaries: [0, 50, 100, 1000], default: "1000+" } }

$match

Фильтрация документов.

{ $match: { reviews: { $ne: [] } } }

$project

Выбор и переименование полей.

{ $project: { _id: 0, name: 1, price: 1 } }

$unwind

Разворот массива.

{ $unwind: "$reviews" }

$set

Добавление поля.

{ $set: { reviewer_name: "$reviews.reviewer_name" } }

$unset

Удаление поля.

{ $unset: "reviews" }

$out

Запись результата в новую коллекцию.

{ $out: "reviews" }

$lookup

Связь customers и transactions.

{ $lookup: { from: "transactions", localField: "accounts", foreignField: "account_id", as: "transactions" } }

Справочники курса

SQL: справочник SQL. MongoDB: справочник MongoDB.