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

⚠️ Ошибки

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

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

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

На занятии создаётся бесплатный Atlas account, проект и sample dataset.

Sample dataset нужен для экспериментов без ручного наполнения больших коллекций.

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

Без индекса MongoDB часто делает COLLSCAN, то есть просматривает коллекцию.

С индексом в плане появляется IXSCAN.

Для географического запроса по coordinates создаётся 2dsphere индекс.

Уникальный индекс по email защищает от дублей и даёт duplicate key error при повторе.

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

Забыли Network Access

Симптом: Compass или shell не подключаются к Atlas.

Исправление: Добавить текущий IP в Atlas Network Access.

Индекс создан не в той базе

Симптом: Explain всё ещё показывает COLLSCAN.

Исправление: Проверить активную базу и коллекцию перед createIndex.

Неправильное имя sample_airbnb

Симптом: Запрос не находит коллекцию.

Исправление: В Atlas/Compass проверить точное имя базы и коллекции.

coordinates не 2dsphere

Симптом: Геозапрос не использует ожидаемый индекс.

Исправление: Создать индекс именно { coordinates: "2dsphere" }.

Уникальный индекс на поле с дублями

Симптом: createIndex падает до проверки insert.

Исправление: Сначала найти и очистить дубли.