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

🔖 Справочник

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

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

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

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

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

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

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

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

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

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

Команды и операторы занятия

createIndex()

Создаёт обычный, текстовый, составной или геоиндекс.

db.shipwrecks.createIndex({ coordinates: '2dsphere' })

explain()

Показывает план выполнения запроса.

db.shipwrecks.explain().find({ coordinates: { $geoWithin: { $centerSphere: [[-96.48616143525156, 30.714748058919618], 0.07401030386454095] } } })

insertMany()

Создаёт несколько документов students.

db.students.insertMany([{ sID: 22001, name: "Alex", year: 1, score: 4.0 }])

$match

Оставляет только подходящие документы pipeline.

{ $match: { year: { $gte: 5 } } }

$out

Записывает результат aggregation в коллекцию.

{ $out: "graduated_students" }

countDocuments()

Считает документы после фильтра.

db.theaters.countDocuments({ "location.address.state": "CA" })

sort()

Сортирует результат запроса.

db.listingsAndReviews.find().sort({ bedrooms: -1 }).limit(1)

Справочники курса

Локальный каталог MongoDB: справочник MongoDB. SQL-операторы предыдущих блоков: справочник SQL.