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

⚠️ Ошибки

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

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

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

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

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

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

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

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

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

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

Типичные ошибки

Путать Atlas и Compass

Симптом: Студент описывает Compass как облачный сервис.

Исправление: Atlas — облачная платформа, Compass — графический клиент.

Считать любой explain хорошим

Симптом: Запрос работает, но explain показывает COLLSCAN.

Исправление: Ищите IXSCAN или другой признак использования индекса.

Забыть 2dsphere

Симптом: $geoWithin по координатам идёт медленно или не использует индекс.

Исправление: Создайте индекс по полю координат.

SORT в памяти

Симптом: Explain показывает отдельный SORT stage.

Исправление: Проверьте индекс, который покрывает и фильтр, и сортировку.

Неверный путь поля в sample_airbnb

Симптом: Запрос возвращает пустой результат.

Исправление: Откройте один документ и проверьте вложенность поля.

$out до фильтра

Симптом: В новую коллекцию попадает лишнее.

Исправление: Ставьте $out последним после $match, $sort и $limit.