Índices suportam a resolução eficiente de consultas praticamente em todos os tipos de bancos de dados, no MongoDB isto não é diferente. Sem índices, o MongoDB deve verificar cada documento de uma coleção para selecionar os documentos que correspondem à instrução de consulta. Essa verificação é altamente ineficiente e requer que o MongoDB processe um grande volume de dados, aloque grande quantidade de memória, etc.
Os índices são estruturas de dados especiais, que armazenam uma pequena porção do conjunto de dados em uma forma fácil de atravessar. O índice armazena o valor de um campo ou conjunto de campos específico, ordenado pelo valor do campo conforme especificado no índice.
O método ensureIndex()
Para criar um índice, você precisa usar o método ensureIndex() do MongoDB, lembrando que à partir da versão 3.0 do MongoDB este método é um simples álias para o método createIndex().
Sintaxe
A sintaxe básica do método ensureIndex () é a seguinte:
db.NOME_COLECAO.ensureIndex({CHAVE:1})
Exemplo
>db.COLECAO.ensureIndex({"TITULO":1})
>db.COLECAO.ensureIndex({"TITULO":1,"DESCRICAO":-1})
O método ensureIndex() também aceita lista de opções opcionais como criação de índice em background, se o índice será único, qual o nome do índice etc. Logo iremos ver mais sobre índice em outros posts assim como a utilização do método createIndex, que abrange as versões atuais do mongoDB, aguardem!