Ícone do site dfilitto

Tipos de Índices no MongoDB

magnifying glass on book

Photo by Nothing Ahead on Pexels.com

No MongoDB, um índice é uma estrutura de dados especial que melhora a velocidade das operações de consulta em uma coleção. Índices armazenam uma pequena parte dos dados da coleção em uma forma fácil de percorrer, sendo assim, em vez de escanear toda a coleção para encontrar os documentos que correspondem à consulta, o MongoDB pode usar o índice para encontrar os resultados de maneira muito mais rápida.

Tipos de Índices no MongoDB

  1. Índice Padrão (_id):
    • Por padrão, o MongoDB cria um índice único no campo _id de cada coleção.
  2. Índices de Campo Único:
    • Índices em um único campo de uma coleção.
    • Exemplo: db.collection.createIndex({ nomeDoCampo: 1 })
      • 1 indica ordem crescente.
      • -1 indica ordem decrescente.
  3. Índices Combinados:
    • Índices em múltiplos campos de uma coleção.
    • Exemplo: db.collection.createIndex({ campo1: 1, campo2: -1 })
  4. Índices de Texto:
    • Usados para realizar buscas textuais em strings.
    • Exemplo: db.collection.createIndex({ nomeDoCampo: "text" })
  5. Índices GeoEspaciais:
    • Usados para consultas geoespaciais.
    • Exemplo: db.collection.createIndex({ localizacao: "2dsphere" })
  6. Índices de Hash:
    • Usados para distribuição uniforme de dados.
    • Exemplo: db.collection.createIndex({ nomeDoCampo: "hashed" })

Como Criar Índices

Para criar um índice, você usa o método createIndex:

db.collection.createIndex({ campo: 1 }) // Índice em ordem crescente
db.collection.createIndex({ campo: -1 }) // Índice em ordem decrescente

Como Usar Índices

1. Criação de Índices

// Índice em um único campo
db.usuarios.createIndex({ nome: 1 })

// Índice em múltiplos campos
db.usuarios.createIndex({ nome: 1, idade: -1 })

2. Visualizar Índices

Para ver os índices de uma coleção, você pode usar o método getIndexes:

db.usuarios.getIndexes()

3. Remover Índices

Para remover um índice, use o método dropIndex:

db.usuarios.dropIndex({ nome: 1 })

Exemplos Práticos

  1. Consulta Otimizada com Índice

Sem índice:

db.usuarios.find({ nome: "João" })

Com índice:

db.usuarios.createIndex({ nome: 1 })
db.usuarios.find({ nome: "João" })
  1. Consultas Textuais

Criar um índice de texto:

db.usuarios.createIndex({ descricao: "text" })

Realizar uma consulta textual:

db.usuarios.find({ $text: { $search: "desenvolvedor" } })

Considerações

Utilizar índices de forma adequada pode melhorar significativamente a performance das consultas no MongoDB.

Quer aprender umto mais sobre MongoDB, basta assistir nossa incrível playlist MongoDB: Do básico ao avançado.

Super Dicas

Venha conhecer os nossos cursos da Hotmart Clube e Udemy.

Se inscreva em nosso canal, compartilhe as matérias que gostar com os seus colegas, e participe da nossa comunidade no Telegram.

Aproveite também e venha fazer parte do nosso clube de vantagens e ter acesso exclusivo a vídeos, tutoriais, cursos e muito mais. Clique no link para se tornar um membro do dfilitto – clube de vantagens e ter acesso a todos os benefícios do nosso clube.

Sair da versão mobile