Menu Docs

sh.addTagRange()

sh.addTagRange(namespace, minimum, maximum, tag)

Observação

Este método faz aliases para sh.updateZoneKeyRange(). O MongoDB fornece fragmentação de zona como sucessora da fragmentação com reconhecimento de tags.

Attaches a range of shard key values to a shard tag created using the sh.addShardTag() method.

You can run updateZoneKeyRange database command and its helpers sh.updateZoneKeyRange() and sh.addTagRange() on an unsharded collection or a non-existing collection.

sh.addTagRange() takes the following arguments:

Parâmetro
Tipo
Descrição

namespace

string

The namespace of the sharded collection to tag.

minimum

documento

The minimum value of the chave de fragmento range to include in the tag. The minimum is an inclusive match. Specify the minimum value in the form of <fieldname>:<value>. This value must be of the same BSON type or types as the shard key.

maximum

documento

The maximum value of the shard key range to include in the tag. The maximum is an exclusive match. Specify the maximum value in the form of <fieldname>:<value>. This value must be of the same BSON type or types as the shard key.

tag

string

The name of the tag to attach the range specified by the minimum and maximum arguments to.

Usar sh.addShardTag() to ensure that the balancer migrates documents that exist within the specified range to a specific shard or set of shards.

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

Esse método 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

Esse comando não é suportado em clusters M,0 M,2 M5 e Flex. 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

As faixas de zona estão sempre inclusas no limite inferior e exclusivas do limite superior.

If you are considering performing zone sharding on an empty or non-existent collection, use sh.addTagRange() to create the zones and zone ranges before sharding the collection. Creating zones and zone ranges on empty or non-existing collections allows MongoDB to optimize the initial chunk creation and distribution process when sharding the collection. This optimized process supports faster setup of zoned sharding with less balancer overhead than creating zones after sharding. The balancer performs all chunk management after the optimized initial chunk creation and distribution.

Para obter um exemplo de definição de zona e zona para distribuição inicial de parte, consulte Predefinir zona e zona para uma Collection vazia ou não existente.

O MongoDB oferece suporte a collections de fragmentação em índices com hash compostos. O MongoDB pode executar a criação e a distribuição otimizadas do chunk inicial ao fragmentar a collection vazia ou inexistente em uma chave shard com hash composto.

Se o campo com hash for o prefixo da chave de fragmento (ou seja, o primeiro campo na chave de fragmento), todos os itens a seguir deverão ser verdadeiros para que o MongoDB execute a criação e a distribuição inicial do chunk:

Se o campo hashed não for o prefixo da chave de shard (ou seja, a chave de shard tem um ou mais campos principais não hasheados), todos os itens a seguir deverão ser verdadeiros para que o MongoDB execute a criação e a distribuição inicial do chunk:

  • A coleção tem uma faixa de zona para cada combinação de valores de campo de prefixo distintos (ou seja, todos os campos que precedem o campo hashed).

  • Para o limite inferior de cada faixa de zona , especifique MinKey para o campo hashed e todos os campos subsequentes.

  • Para cada faixa de zona, pelo menos um campo de prefixo de limite superior deve diferir de sua contraparte de limite inferior.

  • sh.shardCollection() especifica a opção presplitHashedZones: true .

Para obter um exemplo mais completo da definição de zona e zona para a distribuição inicial de parte em uma chave de fragmento com hash, consulte Pre-definir zona e zona para uma Collection vazia ou não existente.

A eliminação de uma coleção exclui seus intervalos de zonas/tags associados.

Nas versões anteriores, o MongoDB não remove as associações de tags para uma collection descartada e, se posteriormente você criar uma nova collection com o mesmo nome, as associações de tags antigas serão aplicadas à nova collection.

Given a shard key of {state: 1, zip: 1}, the following operation creates a tag range covering zip codes in New York State:

sh.addTagRange( "exampledb.collection",
{ state: "NY", zip: MinKey },
{ state: "NY", zip: MaxKey },
"NY"
)