createIndex()
Создаёт индекс по одному или нескольким полям.
db.customers.createIndex({ email: 1 }, { unique: true })
MongoDB Atlas — облачный сервис для размещения и управления MongoDB.
На занятии создаётся бесплатный Atlas account, проект и sample dataset.
Sample dataset нужен для экспериментов без ручного наполнения больших коллекций.
Индекс хранит часть данных в форме, удобной для быстрого поиска.
Без индекса MongoDB часто делает COLLSCAN, то есть просматривает коллекцию.
С индексом в плане появляется IXSCAN.
Для географического запроса по coordinates создаётся 2dsphere индекс.
Уникальный индекс по email защищает от дублей и даёт duplicate key error при повторе.
Создаёт индекс по одному или нескольким полям.
db.customers.createIndex({ email: 1 }, { unique: true })
Тип индекса для географических данных GeoJSON.
db.shipwrecks.createIndex({ coordinates: "2dsphere" })
Показывает план выполнения запроса.
db.shipwrecks.explain().find({
coordinates: {
$geoWithin: {
$centerSphere: [[-96.48616143525156, 30.714748058919618], 0.07401030386454095]
}
}
})
Ищет документы, геометрия которых находится внутри заданной области.
{ coordinates: { $geoWithin: { $centerSphere: [[lng, lat], radius] } } }
Запрещает повтор значения в индексируемом поле.
db.customers.createIndex({ email: 1 }, { unique: true })
Локальный каталог MongoDB: справочник MongoDB. SQL-операторы предыдущих блоков: справочник SQL.