Definição
- flushRouterConfig
- flushRouterConfigmarca 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- flushRouterConfigmanualmente 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.
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 instâncias sem servidor. 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 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 - } - ) 
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 antes de executar o comando db.collection.getShardDistribution() . Isso garante que o comando retorne as informações mais atualizadas.