Definição
- addShard
- Adiciona um conjunto de réplicas fragmentadas em umcluster fragmentado . - Dica- Em - mongosh, esse comando também pode ser executado por meio do método auxiliar- sh.addShard().- Os métodos auxiliares são práticos para os usuários - mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando 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
Este comando não é suportado em instâncias sem servidor. 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 
Sintaxe
O comando tem a seguinte sintaxe:
{ addShard: "<replica_set>/<hostname><:port>", maxSize: <size>, name: "<shard_name>" } 
Campos de comando
O comando contém os seguintes campos:
| Campo | Tipo | Descrição | |
|---|---|---|---|
| 
 | string | O nome do conjunto de réplicas, nome do host e porta de pelo menos um membro do conjunto de réplicas do shard. Quaisquer nomes de host do membro do conjunto de réplicas adicionais devem ser separados por vírgula. Por exemplo:  | |
| 
 | inteiro | Opcional. O tamanho máximo em megabytes do shard. Se você definir  | |
| 
 | string | Opcional. Um nome para o fragmento. Se isso não for especificado, o MongoDB fornecerá automaticamente um nome exclusivo. | 
O comando addShard armazena informações de configuração de shard no banco de dados de configuração de dados de configuração. Execute sempre addShard ao utilizar o banco de banco de dados do admin .
Especifique um maxSize quando você tiver máquinas com capacidades de disco diferentes ou se você quiser limitar a quantidade de dados em alguns fragmentos. A restrição maxSize impede que o balanceador migre parte para o fragmento quando o totalSize retornado da execução de listDatabases no fragmento excede o valor de maxSize.
Considerações
Equilíbrio
Quando você adiciona um shard a um cluster fragmentado, afeta o equilíbrio de parte entre os shards de um cluster para todas as collection fragmentadas existentes. O balancer começará a migrar blocos para que o cluster atinja o equilíbrio. Consulte balanceador de Cluster para obter mais informações.
As migrações de chunks podem ter um impacto no espaço em disco, pois o shard de origem arquiva automaticamente os documentos migrados por padrão. Para detalhes, consulte o diretório moveChunk .
membro oculto
Importante
Não é possível incluir um membro oculto na lista de sementes fornecida a addShard.
Exemplos
O seguinte comando adiciona um conjunto de réplicas como um fragmento:
use admin db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} ) 
Aviso
Não use localhost para o nome do host, a menos que seu servidor de configuração também esteja sendo executado em localhost.