Menu Docs

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

flushRouterConfig

Nesta página

  • Definição
  • Sintaxe
  • Considerações
flushRouterConfig

flushRouterConfig marca a tabela de roteamento em cache para um cluster fragmentado como obsoleta, fazendo com que a próxima operação que solicita a tabela de roteamento atualize o cache. O gerenciamento do cache da tabela de roteamento geralmente é tratado automaticamente pelo cluster. Você só deve executar o comando flushRouterConfig manualmente em instâncias específicas, conforme indicado em Considerações.

Observação

A execução flushRouterConfig não é mais necessária após a execução dos comandos movePrimary ou dropDatabase . Esses dois comandos agora atualizam automaticamente a tabela de roteamento de um cluster fragmentado conforme necessário quando executados.

A partir do MongoDB 4.0.6 (e 3.6.11), flushRouterConfig está disponível nas instâncias mongos e mongod e tem a seguinte sintaxe:

  • Liberar o cache para uma collection especificada quando passada em um parâmetro de namespace da collection:

    db.adminCommand(
    {
    flushRouterConfig: "<db.collection>"
    }
    )
  • Liberar o cache de um reconhecimento de data center especificado e todas as suas collection quando passado em um parâmetro de namespace do reconhecimento de data center:

    db.adminCommand(
    {
    flushRouterConfig: "<db>"
    }
    )
  • Limpar o cache para todos os reconhecimento de data center e suas collection ao executar sem um parâmetro ou passar em um valor escalar não string (por exemplo 1):

    db.adminCommand("flushRouterConfig")
    db.adminCommand(
    {
    flushRouterConfig: 1
    }
    )

Observação

No MongoDB 4.0.5 e anterior (e 3.6.10 e anterior), flushRouterConfig só está disponível para instâncias do mongos e só pode limpar o cache para todos os bancos de dados e suas coleções:

db.adminCommand("flushRouterConfig")
db.adminCommand(
{
flushRouterConfig: 1
}
)

Geralmente, a tabela de roteamento de um cluster fragmentado é atualizada automaticamente conforme necessário como parte da operação normal. No entanto, você deve emitir manualmente o comando flushRouterConfig nas seguintes instâncias:

  • Se estiver executando o MongoDB 4.2 ou anterior, após executar os comandos movePrimary ou dropDatabase .

  • Se estiver executando o MongoDB 4.2.2 ou anterior (ou 4.0.14 ou anterior), após limpar manualmente o sinalizador jumbo de um chunk que não pôde ser dividido (ou seja, um chunk indivisível ). Consulte Limpar sinalizador jumbo para obter mais informações.

  • Antes de executar o comando db.collection.getShardDistribution() . Isso garante que o comando retorne as informações mais atualizadas.

← enableSharding