Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Menu Docs
Página inicial do Docs
/ /

PlanCache.clearPlansByQuery() (método mongosh)

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>, <collation> )

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.

collation

documento

Opcional. Especifica a agrupamento para utilizar para a operação.

A colocação permite que os usuários especifiquem regras específicas do idioma para comparação de strings, como regras para letras maiúsculas e marcas de acento.

A opção de agrupamento tem a seguinte sintaxe:

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

Ao especificar agrupamento, o campo locale é obrigatório; todos os outros campos de agrupamento são opcionais. Para obter descrições dos campos, consulte Documento de agrupamento.

Se o agrupamento não for especificado, mas a coleção tiver um agrupamento padrão (consulte db.createCollection()), a operação usará o agrupamento especificado para a coleção.

Se nenhum agrupamento for especificado para a coleção ou para as operações, o MongoDB usa a comparação binária simples usada nas versões anteriores para comparações de strings.

Você não pode especificar vários agrupamentos para uma operação. Por exemplo, você não pode especificar agrupamentos diferentes por campo ou, se estiver realizando uma busca com uma classificação, não poderá usar um agrupamento para a busca e outro para a classificação.

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 },
"collation" : { locale : "fr" },
"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 },
{ locale: "fr" }
)

Dica

Voltar

PlanCache.clear

Nesta página