Лучшее руководство по MongoDB покрытия запросов индекс в 2024 году. В этом руководстве вы можете изучить Используйте индекс покрытия запроса,
Официальное описание документа MongoDB, охватывающий следующий запрос является запросом:
Так как все появляются в поле запроса является частью индекса, файлов данных MongoDB без необходимости извлекая все условия соответствия запроса и возврата результатов запроса, используя один и тот же индекс.
Поскольку индекс постоянно находиться в оперативной памяти, доступ к данным, чем считывать данные гораздо быстрее, путем сканирования документов из индекса.
Для проверки индекса колпачок запроса, используйте следующий набор пользователей:
{ "_id": ObjectId("53402597d852426020000002"), "contact": "987654321", "dob": "01-01-1991", "gender": "M", "name": "Tom Benzamin", "user_name": "tombenzamin" }
Мы создаем совместную коллекцию пользователей индекса, поле пол и user_name:
>db.users.ensureIndex({gender:1,user_name:1})
Теперь, индекс будет охватывать следующий запрос:
>db.users.find({gender:"M"},{user_name:1,_id:0})
То есть, для приведенного выше запроса, MongoDB не собирается в файл для базы данных. Вместо этого, он извлекает данные из индекса, который очень быстро запроса данных.
Так как наш индекс не включает в себя поле _id, _id будут возвращены по умолчанию в запросе, мы можем сосредоточиться исключить его в результатах запроса MongoDB.
Следующие примеры не исключены _id, запрос не будет рассматриваться:
>db.users.find({gender:"M"},{user_name:1})
Наконец, если следующий запрос, запрос не может использовать индекс покрытия: