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

📝 Задания

📁 Блок: 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 не последней стадией, скопировать типографские кавычки вместо обычных.

Задания из источника

1

Задание 1

Создать коллекцию students из 8 документов источника.

2

Задание 2

Выбрать студентов-выпускников.

3

Задание 3

Записать выпускников в graduated_students через $match + $out.

4

Задание 4

Создать airbnb_Istanbul из объектов недвижимости Стамбула.

5

Задание 5

Создать airbnb_manhattan100 из 100 самых дорогих объектов Manhattan.

6

Задание 6

Проверить, что $out идёт последней стадией pipeline.

7

Задание 7

Сравнить количество документов до и после $out.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как CSV-строка превращается в MongoDB?

Вопрос 2

Что делает $out?

Вопрос 3

Где должен стоять $out?

Вопрос 4

Зачем нужен $limit: 100 в Manhattan-задаче?

Вопрос 5

Какая стадия сортирует по цене убыванию?

Вопрос 6

Что фильтрует polygon Manhattan?

Вопрос 7

Что проверить, если airbnb_Istanbul пустая?