Menu Docs
Página inicial do Docs
/ /

planCacheClear (comando de banco de dados)

planCacheClear

Remove planos de query em cache para uma collection. Especifique umaforma de query para remover planos de query em cache para essa forma. Omita a forma de query para limpar todos os planos de query em cache.

Dica

No mongosh, este comando também pode ser executado através dos métodos de ajuda PlanCache.clear() e PlanCache.clearPlansByQuery() .

Os métodos auxiliares são práticos para os usuários mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.

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

Esse comando não é suportado em clusters M0 e Flex. 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

O comando tem a seguinte sintaxe:

db.runCommand(
{
planCacheClear: <collection>,
query: <query>,
sort: <sort>,
collation: <collation>,
projection: <projection>,
comment: <any>
}
)

O comando usa os seguintes campos opcionais:

Campo
Tipo
Descrição

query

documento

Opcional. O predicado de query da forma de query. Somente a estrutura do predicado, incluindo os nomes dos campos, é significativa para a forma; os valores no predicado de query são insignificantes.

projection

documento

Opcional. A projeção associada à forma de query.

sort

documento

Opcional. A classificação associada à forma de query.

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

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.

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:

{
"query" : { "qty" : { "$gt" : 10 } },
"sort" : { "ord_date" : 1 },
"collation" : { locale : "fr" },
"projection" : { },
"queryHash" : "9AAD95BE"
}

A seguinte operação limpa o plano de query armazenado em cache para a forma:

db.runCommand(
{
planCacheClear: "orders",
query: { "qty" : { "$gt" : 10 } },
sort: { "ord_date" : 1 },
collation: { locale : "fr" }
}
)

O exemplo a seguir limpa todos os plano de query em cache para a collection orders :

db.runCommand(
{
planCacheClear: "orders"
}
)

Voltar

Cache do plano de consulta

Nesta página