planCacheClear
Definição
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
Em
mongosh
, esse comando também pode ser executado por meio dos métodos auxiliaresPlanCache.clear()
ePlanCache.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.
Compatibilidade
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
Este comando não é suportado em clusters M0, M2 e M5 . 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
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { planCacheClear: <collection>, query: <query>, sort: <sort>, projection: <projection>, comment: <any> } )
O comando planCacheClear
tem o seguinte campo:
Campo | Tipo | Descrição |
---|---|---|
| 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. |
| documento | Opcional. A projeção associada à forma de query. |
| documento | Opcional. A classificação associada à forma de query. |
| 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). |
Para ver as formas de query para as quais existem planos de query em cache, consulte Listar formas de query.
Acesso necessário
Em sistemas executados com authorization
, um usuário deve ter acesso que inclua a ação planCacheWrite
.
Exemplos
Limpar planos em cache para uma forma de query
Se uma collection orders
tiver a seguinte forma de query:
{ "query" : { "qty" : { "$gt" : 10 } }, "sort" : { "ord_date" : 1 }, "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 } } )
Limpar todos os planos em cache de uma collection
O exemplo a seguir limpa todos os plano de query em cache para a collection orders
:
db.runCommand( { planCacheClear: "orders" } )