Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

addShardToZone (comando de banco de dados)

addShardToZone

Associa um fragmento a uma zona . O MongoDB associa este fragmento à zona fornecida. Os chunks cobertos pela zona são atribuídos a shards associados à zona.

Dica

In mongosh, this command can also be run through the sh.addShardToZone() helper method.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

You can only run addShardToZone on the admin database from a mongos instance.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
  • 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

O comando tem a seguinte sintaxe:

db.adminCommand(
{
addShardToZone: <string>,
zone: <string>
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição

string

The name of the shard to associate with the zone.

string

The name of the zone to associate with the shard.

mongosh provides the helper method sh.addShardToZone().

Você pode associar uma zona a vários shards, e um shard pode se associar a várias zonas.

Consulte a página do manual de zonas para obter mais informações sobre zonas em um cluster fragmentado.

O MongoDB ignora efetivamente as zonas que não têm pelo menos um intervalo de valores de chave de fragmento associados a ele.

Para associar um intervalo de valores de chave de fragmento a uma zona, use o reconhecimento de data center updateZoneKeyRange ou o assistente de shell sh.updateZoneKeyRange() .

você pode executar o comando de banco de dados do updateZoneKeyRange e seus auxiliares sh.updateZoneKeyRange() e sh.addTagRange() em uma coleção não compartilhada ou uma coleção não existente.

Dica

Ao definir as zonas e as faixas de zonas antes de fragmentar uma collection vazia ou não existente, a operação de collection de shards cria chunks para as faixas de zonas definidas, bem como quaisquer chunks adicionais para cobrir todo a faixa dos valores da chave de shard e executa uma distribuição inicial de shards com base nas faixas de zonas. Essa criação e distribuição inicial de chunks permite uma configuração mais rápida da fragmentação por zonas. Após a distribuição inicial, o balancer gerenciará a distribuição de chunks dali para a frente.

Consulte Predefinir zonas e faixas de zona para uma collection vazia ou não existente para ver um exemplo.

Para clusters fragmentados que impõem controle de acesso , você deve autenticar como um usuário cujos privilégios incluam:

The clusterAdmin or clusterManager built-in roles have the appropriate permissions for issuing addShardToZone. See the documentation page for Role-Based Access Control for more information.

O exemplo a seguir associa shard0000 à zona JFK :

db.adminCommand( { addShardToZone : "shard0000" , zone : "JFK" } )

Um shard pode se associar a várias zonas. O exemplo a seguir associa LGA a shard0000:

db.adminCommand( { addShardToZone : "shard0000" , zone : "LGA" } )

shard0000 associa-se à zona LGA e à zona JFK . Em um cluster balanceado, o MongoDB roteia as leituras e gravações cobertas por qualquer zona para shard0000 .