Definición
planCacheClearFiltersElimina Filtros de índice en una colección. Aunque los filtros de índice solo existen mientras dura el proceso del servidor y no persisten después del apagado, también puede borrar los filtros de índice existentes con
planCacheClearFiltersdominio.Especifique la forma de consulta de la caché de planes para eliminar un filtro de índice específico. Omítala para borrar todos los filtros de índice de una colección.
Configuración de query
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.
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( { planCacheClearFilters: <collection>, query: <query pattern>, sort: <sort specification>, projection: <projection specification>, collation: { <collation> }, comment: <any> } )
Campos de comandos
El comando tiene los siguientes campos:
Campo | Tipo | Descripción | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | El nombre de la colección de la que se eliminarán los filtros de índice. | ||||||||||
| Documento | Opcional. El predicado de consulta del filtro de índice que se eliminará. Si se omite, el comando borra todos los filtros de índice de la colección. Los valores en el predicado
| ||||||||||
| Documento | Opcional. El orden que se va a eliminar del filtro de índice, si lo hay. | ||||||||||
| Documento | Opcional. La proyección que el filtro de índice debe eliminar, si corresponde. | ||||||||||
| Documento | Especifica la intercalación a 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. A partir de MongoDB 6.0, un filtro de índice utiliza la intercalación establecida previamente mediante el comando 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 | ||||||||||
| 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.). |
Acceso requerido
Un usuario debe tener acceso que incluya la planCacheIndexFilter acción.
Ejemplos
Borrar el filtro de índice específico de la colección
La colección orders contiene los siguientes filtros de índice:
{ "query" : { "status" : "A" }, "sort" : { "ord_date" : -1 }, "projection" : { }, "indexes" : [ { "status" : 1, "cust_id" : 1 } ] } { "query" : { "status" : "A" }, "sort" : { }, "projection" : { }, "indexes" : [ { "status" : 1, "cust_id" : 1 } ] } { "query": { "item": "Movie" }, "collation": { locale: "en_US" }, "indexes": [ { "item": 1, "order_date": 1 , "quantity": 1 } ] }
Nota
A partir de MongoDB 6.0, un filtro de índice utiliza la intercalación establecida previamente mediante el comando planCacheSetFilter.
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.
El siguiente comando elimina únicamente el segundo filtro de índice:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "A" } } )
Dado que los valores en el predicado query son insignificantes para determinar la forma de la consulta de caché del plan, el siguiente comando también eliminaría el segundo filtro de índice:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "P" } } )
Borrar todos los filtros de índice de una colección
El siguiente ejemplo borra todos los filtros de índice en la colección orders:
db.runCommand( { planCacheClearFilters: "orders" } )
Borrar filtro de índice que contiene una consulta y una intercalación
El siguiente ejemplo borra el filtro de índice que contiene la consulta en Movie y la intercalación en_US para la colección orders:
db.runCommand( { planCacheClearFilters: "orders", query: { item: "Movie" }, collation: { locale: "en_US" } } )