Definición
planCacheClearRemueve los planes del query en caché para una colección. Especifique un forma del query para remover los planes del query almacenados en caché para esa forma. Omite la forma del query para borrar todos los planes del query en caché.
Tip
En
mongosh, este comando también se puede ejecutar mediante los métodos asistentesPlanCache.clear()yPlanCache.clearPlansByQuery().Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
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.
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { planCacheClear: <collection>, query: <query>, sort: <sort>, collation: <collation>, projection: <projection>, comment: <any> } )
Campos de comandos
El comando toma los siguientes campos opcionales:
Campo | Tipo | Descripción | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Documento | opcional. El predicado de query de la forma del query. Solo la estructura del predicado, incluyendo los nombres de campos, es significativa para la forma; los valores del query de predicado son insignificantes. | ||||||||||
| Documento | opcional. La proyección asociada con la forma del query. | ||||||||||
| Documento | opcional. La ordenación asociada con la forma del query. | ||||||||||
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). | ||||||||||
| 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: Al especificar la intercalación, el campo Si no se especifica la intercalación, pero la colección tiene una intercalación por defecto (ver 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.
Ejemplos
Borrar los Planes en caché para una forma del query
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 borra el plan del query en caché para la estructura:
db.runCommand( { planCacheClear: "orders", query: { "qty" : { "$gt" : 10 } }, sort: { "ord_date" : 1 }, collation: { locale : "fr" } } )
Borrar todos los planes guardados en caché de una colección
El siguiente ejemplo borra todos los planes del query en caché de la colección orders:
db.runCommand( { planCacheClear: "orders" } )