Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

planejar filtros de limpeza de cache

Nesta página

  • Definição
  • Sintaxe
  • Campos de comando
  • Acesso obrigatório
  • Exemplos
planCacheClearFilters

Remove filtros de índice em uma collection. Embora os filtros de índice só existam durante o processo do servidor e não persistam após o desligamento, você também pode limpar os filtros de índice existentes com o comando planCacheClearFilters .

Especifique a forma de query para remover um filtro de índice específico. Omita a forma de query para limpar todos os filtros de índice em uma coleção.

O comando tem a seguinte sintaxe:

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

O comando tem os seguintes campos:

Campo
Tipo
Descrição
planCacheClearFilters
string
O nome da collection da qual remover os filtros de índice.
query
documento

Opcional. O predicado de query para o filtro de índice remover. Se omitido, o comando limpa todos os filtros de índice da collection.

Os valores no predicado query não:

sort
documento
Opcional. A classificação do filtro de índice a ser removido, se houver.
projection
documento
Opcional. A projeção para o filtro de índice remover, se houver.
collation
documento

Especifica o agrupamento a ser usado 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 collection 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.

Iniciando no MongoDB 6.0, um filtro de índice utiliza a coleção definida anteriormente utilizando o comando planCacheSetFilter.

comment
qualquer

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

O usuário deve ter acesso que inclua a ação planCacheIndexFilter .

A coleção orders contém os seguintes filtros de índice:

{
"query" : { "status" : "A" },
"sort" : { "ord_date" : -1 },
"projection" : { },
"indexes" : [ { "status" : 1, "cust_id" : 1 } ]
}
{
"query" : { "status" : "A" },
"sort" : { },
"projection" : { },
"indexes" : [ { "status" : 1, "cust_id" : 1 } ]
}
{
"query": { "item": "Movie" },
"collation": { locale: "en_US" },
"indexes": [ { "item": 1, "order_date": 1 , "quantity": 1 } ]
}

Observação

Iniciando no MongoDB 6.0, um filtro de índice utiliza a coleção definida anteriormente utilizando o comando planCacheSetFilter.

O seguinte comando remove apenas o segundo filtro de índice:

db.runCommand(
{
planCacheClearFilters: "orders",
query: { "status" : "A" }
}
)

Como os valores no predicado query são insignificantes para determinar a forma de query, o comando a seguir também removeria o segundo filtro de índice:

db.runCommand(
{
planCacheClearFilters: "orders",
query: { "status" : "P" }
}
)

O exemplo a seguir limpa todos os filtros de índice na collection orders :

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

O exemplo a seguir limpa o filtro de índice que contém a query em Movie e o agrupamento en_US para a collection orders :

db.runCommand(
{
planCacheClearFilters: "orders",
query: { item: "Movie" },
collation: { locale: "en_US" }
}
)

Dica

Veja também:

← Limpar cache do plano