PlanCache.clearPlansByQuery()
Nesta página
Definição
PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )
Limpa os planos de query em cache para a forma de query de cache do plano especificada.
Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.Para o comando do banco de dados, consulte o comando
planCacheClear
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
O método está disponível somente a partir do
plan cache object
de uma collection específica; p ex.,db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort> ) O método
PlanCache.clearPlansByQuery()
aceita os seguintes parâmetros:ParâmetroTipoDescriçãoquery
documentoO predicado de query da forma de query do cache do plano. Somente a estrutura do predicado, incluindo os nomes dos campo , é significativa para a forma; os valores no predicado de query são insignificantes.projection
documentoOpcional. A projeção associada ao forma de query do cache do plano. Obrigatório se especificar o parâmetrosort
.sort
documentoOpcional. A classificação associada à forma de query do cache do plano.Para ver as formas de consulta para as quais existem planos de consulta em cache, consulte Exemplos.
A partir do MongoDB 8.0, use configurações de query em vez de adicionar filtros de índice. Os filtros de índice estão obsoletos a partir do MongoDB 8.0.
As configurações de query têm mais funcionalidades do que os filtros de índice. Além disso, os filtros de índice não são persistentes e você não pode criar facilmente filtros de índice para todos os nós de cluster. Para adicionar configurações de query e explorar exemplos, consulte setQuerySettings
.
Acesso necessário
Em sistemas executados com authorization
, um usuário deve ter acesso que inclua a ação planCacheWrite
.
Exemplo
Se uma collection orders
tiver a seguinte forma de query do cache do plano:
{ "query" : { "qty" : { "$gt" : 10 } }, "sort" : { "ord_date" : 1 }, "projection" : { }, "planCacheShapeHash" : "9AAD95BE" }
Aviso
A partir do MongoDB 8.0, o campo queryHash
pré-existente é renomeado para planCacheShapeHash
. Se você estiver usando uma versão anterior do MongoDB , verá queryHash
em vez de planCacheShapeHash
.
A seguinte operação remove o plano de query armazenado em cache para a forma:
db.orders.getPlanCache().clearPlansByQuery( { "qty" : { "$gt" : 10 } }, { }, { "ord_date" : 1 } )