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

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

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

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

Первая часть практической отработки MongoDB строится вокруг aggregation pipeline.

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

$unwind превращает каждый элемент массива reviews в отдельный документ.

$set и $unset помогают превратить вложенный объект отзыва в плоский документ.

$out записывает результат агрегации в новую коллекцию reviews.

$merge обновляет существующую коллекцию, когда нужно добавить вычисленные поля.

$map, $multiply и $sum позволяют посчитать total по массиву items в sales.

Топ-3 ошибки: забыть $match перед $bucket, использовать $out вместо $merge для обновления, неправильно обратиться к $$item внутри $map.

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

  • В источнике урока 73 отдельная LMS-домашка не дана: занятие является первой частью практической отработки.
  • Для самопроверки сохраните пять pipeline из задач и добавьте комментарий, какой этап отвечает за фильтрацию, вычисление, разворачивание массива и запись результата.
  • Перед запуском $out и $merge проверьте имя базы и коллекции, чтобы не перезаписать чужие учебные данные.

Проверка перед сдачей

  • Запросы запускаются без синтаксических ошибок.
  • В ответе подписано, какая коллекция и какая база использовались.
  • Для топ-задач явно указано поле сортировки и направление сортировки.
  • Для создаваемых коллекций добавлен личный суффикс, если это требуется источником.