planCacheClearFilters
Nesta página
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.
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:CampoTipoDescriçãoplanCacheClearFilters
stringO nome da collection.query
documentoOpcional. O predicado de query associado ao filtro a ser removido. Se omitido, limpa todos os filtros da coleção.
Os valores no predicado
query
são insignificantes para determinar a forma de query, portanto, os valores utilizados na query não precisam corresponder aos valores mostrados usandoplanCacheListFilters
.sort
documentoOpcional. A classificação associada ao filtro a ser removido, se houver.projection
documentoOpcional. A projeção associada ao filtro a ser removido, se houver.comment
qualquerOpcional. 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:
mensagens de log do mongod, no campo
attr.command.cursor.comment
.Saída do perfil do banco de dados, no campo
command.comment
.Saída de
currentOp
, no campocommand.comment
.
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" } )