Latest web development tutorials
×

MongoDB курс

MongoDB курс NoSQL Краткое введение MongoDB Краткое введение Window устанавливать MongoDB Linux устанавливать MongoDB MongoDB Интерпретация Концепции MongoDB подключение MongoDB Создание базы данных MongoDB Удалить базу данных MongoDB Вставить документ MongoDB Обновление документации MongoDB Удаление документов MongoDB документ Запрос MongoDB Условный оператор MongoDB $type операторы MongoDB Limit & Skip MongoDB последовательность MongoDB индекс MongoDB агрегирование MongoDB копия MongoDB Ломтики MongoDB Резервное копирование и восстановление MongoDB монитор MongoDB Java MongoDB PHP распространение MongoDB PHP MongoDB PHP7

MongoDB Расширенный учебник

MongoDB отношения MongoDB ссылки на базы данных MongoDB Индекс покрытия запроса MongoDB анализ запросов MongoDB атомарные операции MongoDB Расширенный индексации MongoDB ограничения индекса MongoDB ObjectId MongoDB Map Reduce MongoDB Полнотекстовый поиск MongoDB Регулярные выражения MongoDB Инструменты управления MongoDB GridFS MongoDB Фиксированный набор MongoDB Автоматический рост

MongoDB расширенный индексации

Рассмотрим следующий документ коллекции (пользователей):

{
   "address": {
      "city": "Los Angeles",
      "state": "California",
      "pincode": "123"
   },
   "tags": [
      "music",
      "cricket",
      "blogs"
   ],
   "name": "Tom Benzamin"
}

Приведенный выше документ содержит вложенные документы, а также обратиться массив тегов.


Индексированные поля массива

Предположим, мы извлекаем пользователем на основе метки, для которых мы должны индексировать теги массива коллекции.

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

Создание индекса массива, используйте следующую команду:

>db.users.ensureIndex({"tags":1})

После создания индекса, мы можем получить коллекцию метки поля:

>db.users.find({tags:"cricket"})

Мы использовали для проверки использования индекса, вы можете использовать команду объяснить:

>db.users.find({tags:"cricket"}).explain()

Результаты команды покажет "курсор": "BtreeCursor tags_1", он сказал, что индекс был использован.


Индекс поля поддокументе

Предположим, что нам нужно город, штат, поле Pincode для получения документов, так как эти поля являются полями поддокумент, поэтому нам необходима индексация целого документа.

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

>db.users.ensureIndex({"address.city":1,"address.state":1,"address.pincode":1})

После того, как индекс создан, мы можем использовать поле для извлечения данных поддокументы:

>db.users.find({"address.city":"Los Angeles"})   

Помните выражение запроса должно следовать порядку по указанному индексу. Таким образом, индекс, созданный выше, будет поддерживать следующий запрос:

>db.users.find({"address.city":"Los Angeles","address.state":"California"}) 

Также поддерживает следующий запрос:

>db.users.find({"address.city":"LosAngeles","address.state":"California","address.pincode":"123"})