Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
flushRouterConfig
Nesta página
Definição
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 comandoflushRouterConfig
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.
Sintaxe
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 } )
Considerações
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
oudropDatabase
.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 sinalizadorjumbo
para obter mais informações.Antes de executar o comando
db.collection.getShardDistribution()
. Isso garante que o comando retorne as informações mais atualizadas.