$bucket
Источник определяет $bucket как этап агрегации для категоризации документов по группам. В задачах он применяется к цене жилья и оценкам ресторанов.
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 как этап агрегации для категоризации документов по группам. В задачах он применяется к цене жилья и оценкам ресторанов.
$match оставляет только документы, которые подходят под условие. В связке с reviews он часто отсекает документы с пустым массивом.
$project выбирает только нужные поля или меняет форму документа. Он полезен после группировок и перед финальным выводом.
$unwind разворачивает массив reviews: один исходный документ превращается в несколько документов, по одному на элемент массива.
$set создаёт новые поля на основе значений внутри reviews, а $unset удаляет исходное вложенное поле, если оно больше не нужно.
$out записывает результат агрегации в новую коллекцию. В источнике это используется для коллекции reviews.
$lookup выполняет left outer join между коллекциями одной базы, например customers и transactions по accounts/account_id.