removeShardFromZone
Definição
removeShardFromZone
O comando administrativo
removeShardFromZone
remove 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
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
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:
update
na collectionshards
no banco de dadosconfig
efind
na collectiontags
no reconhecimento de data centerconfig
;
ou, alternativamente
um usuário cujos privilégios incluem
enableSharding
no 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" } )