Definición
PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )Borra los planes del query en caché para el especificado forma del query.
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 objectde 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:ParameterTipoDescripciónqueryDocumento
El predicado de consulta de la forma del query. Solo la estructura del predicado, incluidos los nombres de los campos, es significativa para la forma; los valores en el predicado de consulta no son significativos.
projectionDocumento
opcional. La proyección asociada con la forma del query. Obligatorio si se especifica el parámetro
sort.sortDocumento
opcional. La ordenación asociada con la forma del query.
collationDocumento
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
localees 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.
Acceso requerido
En los sistemas que funcionan con authorization, un usuario debe tener acceso que incluya la acción planCacheWrite.
Ejemplo
Si una colección orders tiene la siguiente forma del query:
{ "query" : { "qty" : { "$gt" : 10 } }, "sort" : { "ord_date" : 1 }, "collation" : { locale : "fr" }, "projection" : { }, "queryHash" : "9AAD95BE" }
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
PlanCache.listQueryShapes()