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

sh.addTagRange() (método mongosh)

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.

Anexa um intervalo de valores chave de fragmento a uma tag de fragmento criada usando o método sh.addShardTag() .

Você pode executar o comando de banco de dados 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.

sh.addTagRange() recebe os seguintes argumentos:

Parâmetro
Tipo
Descrição

namespace

string

O namespace da collection fragmentada a ser marcada.

minimum

documento

O valor mínimo da faixa da chave de shard a ser incluída na tag. O mínimo é uma correspondência inclusiva. Especifique o valor mínimo na forma de <fieldname>:<value>. Esse valor deve ser do mesmo tipo ou tipos de BSON que a chave de fragmento.

maximum

documento

O valor máximo do intervalo da chave de fragmento a ser incluído na tag. O máximo é uma correspondência exclusiva. Especifique o valor máximo na forma de <fieldname>:<value>. Esse valor deve ser do mesmo tipo ou tipos de BSON que a chave de fragmento.

tag

string

O nome da tag à qual anexar o intervalo especificado pelos argumentos minimum e maximum .

Use sh.addShardTag() para garantir que o balanceador migre os documentos que existem dentro do intervalo especificado para um fragmento ou conjunto de fragmentos específico.

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 M0 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.

Se você estiver considerando realizar a fragmentação de zona em uma collection vazia ou inexistente, use sh.addTagRange() para criar as zonas e as faixas de zona antes de fragmentar a collection. A criação de zonas e faixas de zona em collections vazias ou inexistentes permite que o MongoDB otimize o processo inicial de criação e distribuição de chunks ao fragmentar a collection. Esse processo otimizado permite uma configuração mais rápida da fragmentação por zonas com menos sobrecarga do balanceador do que a criação de zonas após a fragmentação. O balanceador executa todo o gerenciamento de blocos após a criação e distribuição otimizadas do bloco inicial.

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.

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.

Com uma chave de shard de {state: 1, zip: 1}, a operação a seguir cria um intervalo de tags que cobre os códigos postais no estado de Nova York:

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