Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

sh.removeShardFromZone()

Nesta página

  • Definição
  • Comportamento
  • Exemplo
sh.removeShardFromZone(shard, zone)

Novidade na versão 3.4.

Remove a associação entre uma zona e um shard.

Importante

Método mongosh

Esta página documenta um método mongosh . Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma, 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 MongoDB específica do idioma.

Para a documentação de shell legada do mongo, consulte a documentação para a versão correspondente do MongoDB Server:

mongo shell v4.4

Este método tem os seguintes parâmetros:

Parâmetro
Tipo
Descrição
estilhaç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.

Emita sh.removeShardFromZone() somente quando conectado a uma instância mongos .

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.

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.

Para clusters fragmentados que impõem controle de acesso, você deve autenticar como:

  • um usuário cujos privilégios incluem:

    • update na collection shards no banco de dados config e

    • find na collection tags no reconhecimento de data center config ;

    ou, alternativamente,

  • um usuário cujos privilégios incluem enableSharding no recurso de cluster (disponível a partir da versão 4.2.2, 4.0.14, 3.6.16).

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.

O exemplo seguinte remove a associação entre shard0000 e a zona NYC :

sh.removeShardFromZone("shard0000", "NYC")

Dica

← sh.removeShardTag()