planCacheClearFilters
Definição
planCacheClearFilters
Remove filtros de índice em uma collection. Embora os filtros de índice só existam durante o processo do servidor e não persistam após o desligamento, você também pode limpar os filtros de índice existentes com o comando
planCacheClearFilters
.Especifique a forma de query para remover um filtro de índice específico. Omita a forma de query para limpar todos os filtros de índice em uma coleção.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { planCacheClearFilters: <collection>, query: <query pattern>, sort: <sort specification>, projection: <projection specification>, comment: <any> } )
O comando planCacheClearFilters
tem o seguinte campo:
Campo | Tipo | Descrição |
---|---|---|
planCacheClearFilters | string | O nome da collection. |
query | documento | Opcional. O predicado de query associado ao filtro a ser removido. Se omitido, limpa todos os filtros da coleção. Os valores no predicado |
sort | documento | Opcional. A classificação associada ao filtro a ser removido, se houver. |
projection | documento | Opcional. A projeção associada ao filtro a ser removido, se houver. |
comment | any | Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:
Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc). |
Acesso necessário
O usuário deve ter acesso que inclua a ação planCacheIndexFilter
.
Exemplos
Limpar filtro de índice específico na collection
A coleção orders
contém os seguintes dois 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 } ] }
O seguinte comando remove apenas o segundo filtro de índice:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "A" } } )
Como os valores no predicado query
são insignificantes para determinar a forma de query, o comando a seguir também removeria o segundo filtro de índice:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "P" } } )
Limpar todos os Filtros de Índice em uma collection
O exemplo a seguir limpa todos os filtros de índice na collection orders
:
db.runCommand( { planCacheClearFilters: "orders" } )