Definição
planCacheClearRemove 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" } )