Menu Docs

PlanCache.clearPlansByQuery()

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âmetro
Tipo
Descrição

query

documento

O 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

documento

Opcional. A projeção associada ao forma de query do cache do plano. Obrigatório se especificar o parâmetro sort .

sort

documento

Opcional. 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.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

  • 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

Em sistemas executados com authorization, um usuário deve ter acesso que inclua a ação planCacheWrite.

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 existente é duplicado em um novo campo chamado planCacheShapeHash. Se você estiver usando uma versão anterior do MongoDB , verá apenas o campo queryHash. As futuras versões do MongoDB removerão o campo queryHash obsoleto, e você precisará usar o campo planCacheShapeHash em seu lugar.

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 }
)

Dica

Veja também: