Definición
planCacheClearFiltersremover filtros de índice en 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, M2, y M5. Para obtener más información, consulte Comandos incompatibles.
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>, comment: <any> } )
El comando planCacheClearFilters tiene el siguiente campo:
Campo | Tipo | Descripción |
|---|---|---|
| string | El nombre de la colección. |
| Documento | opcional. El predicado de query asociado con el filtro para remover. Si se omite, borra todos los filtros de la colección. Los valores del predicado |
| Documento | opcional. La orden asociada con el filtro que se removerá, si existe. |
| Documento | opcional. La proyección asociada con el filtro a remover, si existe. |
| 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 dos siguientes filtros:
{ "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 } ] }
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" } )