sh.removeShardFromZone()
Nesta página
Definição
sh.removeShardFromZone(shard, zone)
Novidade na versão 3.4.
Remove a associação entre umazona e um shard.
Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.Para o comando do banco de dados, consulte o comando
removeShardFromZone
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
Este método tem os seguintes parâmetros:
ParâmetroTipoDescriçãostringO nome do shard do qual remover a associação de zona .
stringO nome da zona cuja associação com o shard você deseja remover.
Emita
sh.removeShardFromZone()
somente quando conectado a uma instânciamongos
.
Comportamento
sh.removeShardFromZone()
não remove as faixas associadas à zona.
Para remover completamente uma zona do cluster, você deve executar sh.removeShardFromZone()
em cada shard associado à zona.
Se o fragmento especificado for o último fragmento associado à zona, você deverá garantir que não haja faixas restantes associadas à zona. Use updateZoneKeyRange
para remover quaisquer faixas existentes associadas à zona antes de executar sh.removeShardFromZone()
.
Consulte a página do manual de zonas para obter mais informações sobre zonas em clusters fragmentados.
Balancer
Remover a associação entre uma zona e um fragmento remove as restrições que mantêm as partes cobertas pela zona no fragmento. Durante a próxima rodada do balanceador, o balanceador pode migrar pedaços cobertos anteriormente pela zona.
Consulte a página do manual do balanceador de cluster fragmentado para obter mais informações sobre como as migrações funcionam em um cluster fragmentado.
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
sh.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 seguinte remove a associação entre shard0000
e a zona NYC
:
sh.removeShardFromZone("shard0000", "NYC")