Как и в любой базе данных, индексы являются важными структурами данных в MongoDB. Они упрощают выполнение запросов к базе данных и позволяют хранить и размещать часть вашей коллекции в уникальных полях. Индексы также без проблем поддерживают запросы диапазона.

Если ваше приложение использует MongoDB, вы хотите использовать возможности индексов, чтобы сделать ваши запросы более быстрыми и эффективными. Итак, что такое индексы в MongoDB и как их создавать?

Что такое индексы в MongoDB?

Индексы в MongoDB позволяют назначать приоритеты некоторым полям в документе и позже превращать их в параметры запроса. При создании коллекции MongoDB создает индекс идентификатора по умолчанию. Но вы можете добавить больше, если у вас более высокие запросы или потребности в расположении.

Уникальные индексы также предотвращают дублирование при вводе данных. Они пригодятся для отклонения записей, которые уже существуют в базе данных. Таким образом, вы можете, например, использовать уникальную индексацию для имен пользователей и полей электронной почты.

instagram viewer

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

Например, если вы решите отсортировать точки данных по датам входа без использования индекса, вы обычно предоставляете критерии запроса и порядок сортировки.

Допустим, вы хотите расположить возрастные группы выше определенного числа по убыванию даты их поступления. Ваш запрос обычно выглядит так:

db.collectionName.find ({age: {$ gt: 50}}). sort ({date: -1})

Но если бы у вас был указатель по датам входа, вам нужно было бы только указать критерии запроса. Это потому, что вы уже отсортировали дату по убыванию при создании индекса.

В этом случае приведенный выше запрос выглядит следующим образом:

db.collectionName.find ({age: {$ gt: 50}})

Как создать индекс в MongoDB

Вы можете создавать индексы в MongoDB, используя встроенный интерфейс оболочки. Вот что мы будем использовать в этом уроке.

Тем не менее индексы существуют не одни. Вы, должно быть, создал базу данных и коллекцию прежде чем вы сможете создать index.

Как мы уже упоминали ранее, важной особенностью индексации является то, что она позволяет вам указывать критерии сортировки во время создания индекса.

Например, индекс, упорядочивающий возраст в обратном порядке, выглядит так:

db.userCollection.createIndex ({возраст: -1})

Отрицательное целое число (-1) в коде сообщает MongoDB упорядочивать возраст в обратном порядке всякий раз, когда вы запрашиваете данные с помощью возраст показатель. Таким образом, вам может не потребоваться указывать порядок сортировки во время запросов, поскольку индекс уже обрабатывает это.

Чтобы создать индекс того же поля по возрастанию, замените -1 с участием 1:

db.userCollection.createIndex ({возраст: 1})

Хотя в MongoDB есть и другие типы индексов, именно так можно создавать одиночные и составные формы, поскольку они используются чаще всего.

Но прежде чем мы продолжим, убедитесь, что вы настроить MongoDB сервер на вашем ПК. Если вы уже сделали это, откройте оболочку MongoDB и следуйте инструкциям.

Создайте единый индекс в MongoDB

Единичное индексирование в MongoDB просто. Для начала выберите базу данных, которая уже содержит коллекции.

Скажем, имя нашей базы данных MUO:

использовать MUO

После выбора базы данных используйте createIndex () в оболочке для создания единого индекса.

Например, чтобы создать единый индекс имени пользователя в коллекции и использовать его для запроса в обратном порядке:

db.collectionName.createIndex ({имя пользователя: -1})

Многоключевое индексирование в MongoDB

Многоклавишные индексы удобны для индексации поля в сложном массиве данных. Например, коллекция может содержать сложные данные пользователей с их информацией в другом массиве. Например, произнесите имя, рост и возраст.

Вы можете создать многоклавишный индекс по высоте каждого пользователя в этом массиве следующим образом:

db.customers.createIndex ({user.height: 1})

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

Создать составной индекс

Составной индекс содержит более одного индекса. Чтобы создать составной указатель адреса и типа продукта в коллекции клиентов, например:

db.customer.createIndex ({адрес: 1, продукты: 1})

Поскольку вы не указали имя при создании указанного выше индекса, MongoDB создает его по умолчанию. Но он разделяет имя каждого индекса знаком подчеркивания. Таким образом, он менее читабелен, особенно если у вас более двух индексов в составе.

Чтобы указать имя при создании составного индекса:

db.customers.createIndex ({location: 1, products: 1, weight: -1}, {name: "myCompundIndex"})

Получить все индексы в коллекции

Чтобы просмотреть все индексы в коллекции:

db.collectionName.getIndexes ()

Приведенный выше код выводит все индексы в именованной коллекции.

Организуйте свою базу данных с помощью индексов

Индексирование в MongoDB снижает задержку выполнения при выполнении параллельных запросов. Кроме того, они помогают организовать базу данных и сделать ее более доступной. Как вы видели, создание индексов в MongoDB в конце концов несложно. Приведенных здесь примеров достаточно, чтобы вы начали создавать индекс. Тем не менее, чтобы увидеть свои индексы на практике, вам нужно знать, как запросы работают в MongoDB.

Как выполнять операции CRUD в MongoDB

Знакомство с MongoDB непросто. Сразу же приступайте к делу с CRUD.

Читать далее

доляТвитнутьЭлектронное письмо
Похожие темы
  • Программирование
  • Python
  • Программирование
  • база данных
Об авторе
Идову Омисола (Опубликовано 119 статей)

Идову увлечен всем, что связано с умными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.

Ещё от Idowu Omisola

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться