Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

cursor.explain() (método mongosh)

cursor.explain(verbosity)

Importante

Método mongosh

Esta página documenta um método.mongosh Esta não é a documentação para um driver específico de idioma, como Node.js.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Fornece informações sobre o plano de query para o método db.collection.find() .

O método explain() tem o seguinte formulário:

db.collection.find().explain()

O método explain() tem o seguinte parâmetro:

Parâmetro
necessidade
Tipo
Descrição

verbose

Opcional

String

Determina a quantidade de informações a incluir no resultado de explicação. Os possíveis modos de verbosidade são:

  • allPlansExecution

  • executionStats

  • queryPlanner (Padrão)

Para compatibilidade com versões anteriores do explain(), MongoDB interpreta true como allPlansExecution e false como queryPlanner.

Para obter mais informações sobre os modos, consulte Modos de detalhamento.

O método retorna um documento com o plano de query e, opcionalmente, as estatísticas de explain() execução.

Observação

cursor.explain() o padrão é queryPlanner, ao contrário do comando explain, cujo padrão é allPlansExecution.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

Para utilizar o explain, você deve ter permissão para executar o comando subjacente.

Observação

Usar explain ignora todas as entradas de cache do plano existentes e evita que o planejador de query do MongoDB crie uma nova entrada de cache do plano.

O comportamento de e a quantidade de informações retornadas dependem cursor.explain() do verbosity modo .

Por padrão, o executacursor.explain() no queryPlanner modo de verbosidade do.

O MongoDB executa o otimizador de query para escolher o plano vencedor para a operação em avaliação. cursor.explain() retorna as informações do método queryPlanner avaliado.

O MongoDB executa o otimizador de query para escolher o plano vencedor, executa o plano vencedor até a conclusão e retorna estatísticas que descrevem a execução do plano vencedor.

cursor.explain() retorna as queryPlanner informações e do método executionStats executionStats avaliado. No entanto, o não fornece informações de execução da query para os planos rejeitados.

O MongoDB executa o otimizador de query para escolher o plano vencedor e executar o plano vencedor para conclusão. No modo "allPlansExecution", MongoDB retorna estatísticas descrevendo a execução do plano vencedor, bem como estatísticas para os outros planos candidatos capturados durante a seleção do plano.

cursor.explain()retorna as informaçõesqueryPlannereexecutionStatsdo método avaliado. OexecutionStatsinclui as informações de execução da query concluídas para o plano vencedor.

Se o otimizador de query considerar mais de um plano, as informaçõesexecutionStats também incluirão as informações de execução parcial capturadas durante a fase de seleção do plano para os planos de candidatos vencedores e rejeitados.

db.collection.explain().find() é semelhante ao com as seguintes diferenças db.collection.find().explain() principais:

Consulte db.collection.explain() para mais informações.

cursor.explain() as operações podem retornar informações sobre:

  • explainVersion, a versão do formato de saída (por exemplo, "1").

  • command, que detalha o comando a ser explicado.

  • queryPlanner, que detalha o plano selecionado pelo otimizador de query e lista os planos rejeitados.

  • executionStats, que detalha a execução do plano vencedor e os planos rejeitados.

  • serverInfo, que fornece informações sobre a instância MongoDB.

  • serverParameters, que detalha os parâmetros internos.

O modo de verbosidade (ou seja, queryPlanner, executionStats, allPlansExecution) determina se os resultados incluem executionStats e se executionStats inclui dados capturados durante a seleção do plano.

A saída de explicação é limitada pela profundidade máxima aninhada para documentos BSON, que é de 100 níveis de aninhamento. A saída de explicações que excede o limite é truncada.

Para obter detalhes sobre o resultado, consulte Explicar os resultados.

O exemplo a seguir executa cursor.explain() em "executionStats" modo verbosidade para retornar as informações de planejamento e execução da query para a operação db.collection.find() especificada:

db.products.find(
{ quantity: { $gt: 50 }, category: "apparel" }
).explain("executionStats")