# Індекси

Коли ми даємо команду знайти щось для нас, MongoDB змушений перебирати кожен документ в колекції, щоб порівняти вказане поле (або поля) і вирішити чи повертати цей документ. Для великих об'ємів даних така операція може тривати надто довго.

Щоб спростити роботу MongoDB можна створити індекси для полів, по який роблять вибірку

```
db.<назва_колекції>.createIndex({name: 1}) // А-Я
```

Після чого запити і сортування по цьому полю будуть швидші

Видалити індекс просто:

```
db.<назва_колекції>.dropIndex({name: 1})
```

Список допустимих індексів

```
db.<назва_колекції>.getIndexes({name: 1})
```

> За замовчуванням MongoDB створює індекс для системного поля \_id, сортований по зростанню (А-Я).

### Складні індекси <a href="#skladni-indeksi" id="skladni-indeksi"></a>

Якщо в запиті бере участь більше, ніж 1 поле, ви можете створити комбінований індекс. Нехай наш запит містить і поле name, і поле age, тоді є сенс створити комбінований індекс, який включає їх обох:

```
db.<назва_колекції>.createIndex({name: 1, age: -1})
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vyspiansky.gitbook.io/introduction-to-web-development/mongodb/indexes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
