Індекси в MongoDB
Коли ми даємо команду знайти щось для нас, MongoDB змушений перебирати кожен документ в колекції, щоб порівняти вказане поле (або поля) і вирішити чи повертати цей документ. Для великих об'ємів даних така операція може тривати надто довго.
Щоб спростити роботу MongoDB можна створити індекси для полів, по який роблять вибірку
db.<назва_колекції>.createIndex({name: 1}) // А-Я
Після чого запити і сортування по цьому полю будуть швидші
Видалити індекс просто:
db.<назва_колекції>.dropIndex({name: 1})
Список допустимих індексів
db.<назва_колекції>.getIndexes({name: 1})
За замовчуванням MongoDB створює індекс для системного поля _id, сортований по зростанню (А-Я).
Складні індекси
Якщо в запиті бере участь більше, ніж 1 поле, ви можете створити комбінований індекс. Нехай наш запит містить і поле name, і поле age, тоді є сенс створити комбінований індекс, який включає їх обох:
db.<назва_колекції>.createIndex({name: 1, age: -1})