Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

PlanCache.clearPlansByQuery() (método mongosh)

PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )

Borra los planes del query en caché para el especificado planear la forma del query en caché.

Importante

Método mongosh

Esta página documenta a Método mongosh. Esta no es la documentación de comandos de base de datos ni de controladores específicos del lenguaje, como Node.js.

Para el comando de base de datos, consulta el comando planCacheClear.

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

El método solo está disponible desde el plan cache object de una colección específica; es decir.

db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort>, <collation> )

El método PlanCache.clearPlansByQuery() acepta los siguientes parámetros:

Parameter
Tipo
Descripción

query

Documento

El predicado query de la forma del query de caché del plan. Sólo la estructura del predicado, incluidos los nombres de los campos, son significativos para la forma; los valores en el predicado de la consulta son insignificantes.

projection

Documento

opcional. La proyección asociada con la forma del query de la caché de planes. Es obligatorio si se especifica el parámetro sort.

sort

Documento

opcional. El tipo asociado con la forma del query de la memoria caché de planes.

collation

Documento

Opcional. Especifica la intercalación que se debe utilizar para la operación.

La intercalación permite a los usuarios especificar reglas propias del lenguaje para la comparación de strings, como reglas para el uso de mayúsculas y minúsculas y marcas de acento.

La opción de intercalación tiene la siguiente sintaxis:

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

Al especificar la intercalación, el campo locale es obligatorio; todos los demás campos de intercalación son opcionales. Para las descripciones de los campos, consulta Documento de intercalación.

Si no se especifica la intercalación, pero la colección tiene una intercalación por defecto (ver db.createCollection()), la operación utiliza la intercalación especificada para la colección.

Si no se especifica ninguna intercalación para la colección o para las operaciones, MongoDB utiliza la comparación binaria simple usada en versiones anteriores para las comparaciones de strings.

No puedes especificar varias intercalaciones para una operación. Por ejemplo, no puedes especificar diferentes intercalaciones por campo, o si realizas una búsqueda con un ordenamiento, no puedes usar una intercalación para la búsqueda y otra para el ordenamiento.

Para ver las formas del query para las que existen planes del query en caché, consulta Ejemplos.

A partir de MongoDB 8.0, utiliza la configuración del query en lugar de añadir filtros de índice. Los filtros de índices están en desuso a partir de MongoDB 8.0.

La configuración de queries tiene más funcionalidades que los filtros de índices. Además, los filtros de índice no son persistentes y no puedes crear fácilmente filtros de índice para todos los nodos del clúster. Para añadir ajustes de query y explorar ejemplos, consulta setQuerySettings.

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

  • 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.

En los sistemas que funcionan con authorization, un usuario debe tener acceso que incluya la acción planCacheWrite.

Si una colección orders tiene la siguiente forma del query de caché de plan:

{
"query" : { "qty" : { "$gt" : 10 } },
"sort" : { "ord_date" : 1 },
"collation" : { locale : "fr" },
"projection" : { },
"planCacheShapeHash" : "9AAD95BE"
}

Advertencia

A partir de MongoDB 8.0, el campo queryHash existente se duplica en un nuevo campo llamado planCacheShapeHash. Si estás utilizando una versión anterior de MongoDB, solo verás el campo queryHash. Las versiones futuras de MongoDB removerán el campo queryHash obsoleto y deberás utilizar el campo planCacheShapeHash en su lugar.

La siguiente operación remueve el plan del query almacenado en caché para la forma:

db.orders.getPlanCache().clearPlansByQuery(
{ "qty" : { "$gt" : 10 } },
{ },
{ "ord_date" : 1 },
{ locale: "fr" }
)

Tip

Volver

PlanCache.clear

En esta página