📁 Блок: MongoDB / Atlas и наполнение коллекций⏱️ Время изучения: ~90 мин🎯 Сложность: Средняя
⚡ Кратко: суть занятия
Вторая часть Atlas переносит акцент с индексов на наполнение коллекций и запись результата aggregation.
Коллекция students создаётся через insertMany из CSV-подобной таблицы.
Выпускников можно выбрать через $match по году обучения и записать в новую коллекцию через $out.
$out записывает результат pipeline в коллекцию, поэтому перед запуском нужно понимать, куда попадут данные.
Задание с airbnb_Istanbul и airbnb_manhattan100 тренирует геофильтр, сортировку и экспорт результата.
Для Manhattan используется Polygon в address.location и сортировка price: -1.
Для топ-100 нужна стадия $limit: 100 перед $out.
Топ-3 ошибки: забыть создать/проверить коллекцию назначения, поставить $out не последней стадией, скопировать типографские кавычки вместо обычных.
Разбор темы
Наполнение students
Источник показывает CSV-таблицу students и её перевод в insertMany. Это важный шаг: MongoDB хранит документы, поэтому каждую строку таблицы нужно превратить в объект.
В задании нужно выбрать студентов-выпускников. В учебном наборе year показывает год обучения; выпускников можно трактовать как старшие курсы, например year >= 5.
{ $match: { year: { $gte: 5 } } }
$out
$out записывает результат pipeline в коллекцию. В Compass это удобно для создания derived collection: сначала фильтруем, затем сохраняем.