Definição
PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )Limpa os planos de query em cache para a forma de query 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 objectde 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âmetroTipoDescriçãoquerydocumento
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.
projectiondocumento
Opcional. A projeção associada à forma de query. Obrigatório ao especificar o parâmetro
sort.sortdocumento
Opcional. A classificação associada à forma de query.
collationdocumento
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.
Acesso necessário
Em sistemas executados com authorization, um usuário deve ter acesso que inclua a ação planCacheWrite.
Exemplo
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 remove o plano de query armazenado em cache para a forma:
db.orders.getPlanCache().clearPlansByQuery( { "qty" : { "$gt" : 10 } }, { }, { "ord_date" : 1 }, { locale: "fr" } )
Dica
PlanCache.listQueryShapes()