Definição
removeShardFromZoneO comando administrativo
removeShardFromZoneremove a associação entre um shard e umazona .Dica
Em
mongosh, esse comando também pode ser executado por meio do método auxiliarsh.removeShardFromZone().Os métodos auxiliares são práticos para os usuários
mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
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
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
Você só pode executar removeShardFromZone no banco de dados admin a partir de uma instância mongos .
O comando tem a seguinte sintaxe:
db.adminCommand( { removeShardFromZone: <string>, zone: <string> } )
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
string | O nome do shard do qual remover a associação de zona . | |
string | O nome da zona cuja associação com o shard você deseja remover. |
mongosh fornece o método auxiliar sh.removeShardFromZone().
Comportamento
removeShardFromZone não remove as faixas associadas à zona.
Para remover completamente uma zona do cluster, você deve executar removeShardFromZone em cada shard associado à zona.
Se o fragmento especificado for o último fragmento associado à zona, você deverá garantir que não haja intervalos de chave de fragmento restantes associados à zona. Use updateZoneKeyRange para remover quaisquer faixas existentes associadas à zona antes de executar removeShardFromZone.
Consulte a página do manual de zonas para obter mais informações sobre zonas em clusters fragmentados.
Segurança
Para clusters fragmentados que impõem controle de acesso, você deve autenticar como:
um usuário cujos privilégios incluem:
updatena collectionshardsno banco de dadosconfigefindna collectiontagsno reconhecimento de data centerconfig;
ou, alternativamente
um usuário cujos privilégios incluem
enableShardingno recurso do cluster .
As roles embutidas clusterAdmin ou clusterManager removeShardFromZone as permissões apropriadas para emitir . Consulte a página do manual Controle de acesso baseado em funções para obter mais informações.
Exemplo
O exemplo a seguir remove a associação entre shard0000 e a zona NYC:
db.adminCommand( { removeShardFromZone : "shard0000" , zone : "NYC" } )