Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

cursor.explain() (método mongosh)

cursor.explain(verbosity)

Importante

Método mongosh

This page documents a mongosh method. This is not the documentation for a language-specific driver, such as Node.js.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

Proporciona información sobre el plan del query para el método db.collection.find().

El método explain() tiene la siguiente forma:

db.collection.find().explain()

El método explain() tiene el siguiente parámetro:

Parameter
Necesidad
Tipo
Descripción

verbose

Opcional

String

Determina la cantidad de información que se incluirá en la explicación de la salida. Los posibles niveles de verbosidad son:

  • allPlansExecution

  • executionStats

  • queryPlanner (por defecto)

Para mantener la compatibilidad con versiones anteriores de explain(), MongoDB interpreta true como allPlansExecution y false como queryPlanner.

Para obtener más información sobre los modos, se puede consultar Modas de nivel de verbosidad.

The explain() method returns a document with the query plan and, optionally, the execution statistics.

Nota

cursor.explain() por defecto es queryPlanner, a diferencia del comando explain, que por defecto es allPlansExecution.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Para usar explain, se debe tener permiso para ejecutar el comando subyacente.

Nota

El uso de explain ignora todas las entradas existentes en la caché del plan e impide que el planificador de query de MongoDB cree una nueva entrada en la caché del plan.

The behavior of cursor.explain() and the amount of information returned depend on the verbosity mode.

By default, cursor.explain() runs in queryPlanner verbosity mode.

MongoDB runs the query optimizer to choose the winning plan for the operation under evaluation. cursor.explain() returns the queryPlanner information for the evaluated method.

MongoDB ejecuta el optimizador del query para elegir el plan ganador, ejecuta el plan ganador hasta su finalización y devuelve estadísticas que describen la ejecución del plan ganador.

cursor.explain() returns the queryPlanner and executionStats information for the evaluated method. However, executionStats does not provide query execution information for the rejected plans.

MongoDB ejecuta el optimizador de la query para elegir el plan ganador y ejecuta el plan ganador hasta su finalización. En el modo "allPlansExecution" MongoDB devuelve estadísticas que describen la ejecución del plan ganador, así como estadísticas de los otros planes candidatos capturados durante la selección del plan.

cursor.explain() returns the queryPlanner and executionStats information for the evaluated method. The executionStats includes the completed query execution information for the winning plan.

Si el optimizador del query consideró más de un plan, la información de executionStats también incluye la información de ejecución parcial capturada durante la fase de selección del plan tanto para los planes ganadores como para los rechazados.

db.collection.explain().find() es similar a con las siguientes diferencias db.collection.find().explain() clave:

Consulta db.collection.explain() para obtener más información.

cursor.explain() Las operaciones pueden devolver información sobre:

El nivel de verbosidad (es decir, queryPlanner, executionStats, allPlansExecution) determina si los resultados incluyen executionStats y si executionStats incluye datos capturados durante la selección del plan.

La salida de la explicación está limitada por la profundidad máxima de anidación para documentos BSON, que es de 100 niveles de anidación. Explicar que la salida que excede el límite se trunca.

Para obtener más detalles sobre la salida, consultar Explicación de resultados.

El siguiente ejemplo ejecuta cursor.explain() en modo de detalle "executionStats" para devolver la información de planificación y ejecución de la consulta para la db.collection.find() operación especificada:

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