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

📝 Задания

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

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

Summary session 17 повторяет Atlas, индексы, наполнение коллекций и Aggregation Pipeline.

Atlas — облачный сервис MongoDB для размещения, управления и масштабирования баз данных.

Индекс хранит часть данных коллекции в форме, удобной для поиска.

COLLSCAN означает просмотр коллекции без индекса, IXSCAN — использование индекса.

FETCH читает документы из коллекции, SORT показывает сортировку в памяти.

Geo-запросы требуют подходящего 2dsphere индекса, например по coordinates.

Практический блок создаёт students, выбирает выпускников и заполняет другую коллекцию.

Домашка разбирает theaters в Калифорнии, максимальные bedrooms и лучший рейтинг при минимум 50 отзывах.

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

1

Повторение Atlas

Сформулируйте, зачем нужен MongoDB Atlas и чем он отличается от локального mongod.

2

Индексы

Объясните своими словами, почему индекс ускоряет поиск.

3

COLLSCAN / IXSCAN

По explain-плану определите, используется индекс или идёт полный просмотр коллекции.

4

Geo-индекс

Создайте 2dsphere индекс и проверьте $geoWithin запрос через explain().

5

students

Создайте коллекцию students из данных источника и выберите выпускников.

6

Домашка 1

Найдите кинотеатры в Калифорнии в sample_mflix.theaters и посчитайте их.

7

Домашка 2

Найдите объект sample_airbnb с самым большим количеством bedrooms.

8

Домашка 3

Найдите объект с максимальным review_scores_rating при number_of_reviews >= 50.

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

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

Вопрос 1

Что такое MongoDB Atlas по источнику?

Вопрос 2

Что означает COLLSCAN?

Вопрос 3

Что означает IXSCAN?

Вопрос 4

Какой индекс нужен для координат shipwrecks?

Вопрос 5

Что показывает FETCH stage?

Вопрос 6

Как найти объект с максимальными bedrooms?

Вопрос 7

Зачем фильтровать number_of_reviews >= 50 перед рейтингом?

Вопрос 8

Где проверять структуру вложенных полей?