Definición
planCacheClearFiltersElimina los filtros de Ãndice de una colección. Aunque los filtros de Ãndice solo existen durante el proceso del servidor y no persisten después del apagado, también puedes borrar los filtros de Ãndice existentes con el comando
planCacheClearFilters.Especifique la forma del query para remover un filtro de Ãndice especÃfico. Omitir la forma del query para borrar todos los filtros de Ãndice de una colección.
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 deben remover los filtros de Ãndice. | ||||||||||
| Documento | opcional. El predicado de la query para el filtro de Ãndice a remover. Si se omite, el comando borra todos los filtros de Ãndice de la colección. Los valores en el predicado
| ||||||||||
| Documento | opcional. La ordenación para el filtro del Ãndice a remover, si existe. | ||||||||||
| Documento | opcional. La proyección del filtro de Ãndice que se va a remover, si existe. | ||||||||||
| 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. A partir de MongoDB 6.0, un filtro de Ãndice utiliza la intercalación establecida previamente mediante el comando | ||||||||||
| 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 acción planCacheIndexFilter.
Ejemplos
Borrar filtro de Ãndice especÃfico en 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.
El siguiente comando solo remueve el segundo filtro de Ãndice:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "A" } } )
Debido a que los valores en el predicado query no son significativos para determinar la forma del query, el siguiente comando también removerÃa el segundo filtro de Ãndice:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "P" } } )
Borrar todos los filtros de Ãndice en 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 query y una intercalación
El siguiente ejemplo elimina el filtro de Ãndice que contiene la query en Movie y la intercalación en_US para la colección orders:
db.runCommand( { planCacheClearFilters: "orders", query: { item: "Movie" }, collation: { locale: "en_US" } } )