hint() (Forçar um Índice)

Última atualização: 2026-10-09

hint() (Forçar um Índice)

hint() força uma consulta a usar um índice específico: `db.users.find({ age: { $gt: 20 } }).hint({ age: 1 })`, passando a chave do índice ou seu nome. O otimizador geralmente escolhe bem, mas hint() pode substituir escolhas ruins quando a distribuição de dados é distorcida. Use-o com moderação em produção e reverifique se o índice continua relevante.

CategoriaCursor
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

db.<collection>.find(<filter>).hint(<indexKeyOrName>)

⚙️ Parâmetros

chave ou nome de índiceO índice a forçar, por exemplo {age: 1} ou 'age_1'.

Retorno:O cursor com o índice forçado (encadeável).

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// hint: força o índice age_1
const result = db.users.find({ age: { $gt: 20 } })
  .hint({ age: 1 })
  .toArray()
result.length

Saída:

35

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo hint se relaciona com índices?
Ahint() força uma consulta para um determinado índice, ignorando a escolha do otimizador — um conserto quando o otimizador escolhe errado.
QE se o índice indicado não existir?
AA consulta falha imediatamente — ela não cai para outro índice.
QComo forço uma varredura de coleção com hint?
APasse hint({$natural: 1}), que varre documentos em ordem física.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%