$bucket
Категоризация по диапазонам.
{ $bucket: { groupBy: "$price", boundaries: [0, 50, 100, 1000], default: "1000+" } }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: { groupBy: "$price", boundaries: [0, 50, 100, 1000], default: "1000+" } }Фильтрация документов.
{ $match: { reviews: { $ne: [] } } }Выбор и переименование полей.
{ $project: { _id: 0, name: 1, price: 1 } }Разворот массива.
{ $unwind: "$reviews" }Добавление поля.
{ $set: { reviewer_name: "$reviews.reviewer_name" } }Удаление поля.
{ $unset: "reviews" }Запись результата в новую коллекцию.
{ $out: "reviews" }Связь customers и transactions.
{ $lookup: { from: "transactions", localField: "accounts", foreignField: "account_id", as: "transactions" } }SQL: справочник SQL. MongoDB: справочник MongoDB.