Definição
enableShardingObservação
Alterado na versão 6.0.
A partir do MongoDB 6.0, este comando não é necessário para fragmentar uma collection.
O comando cria explicitamente um banco de
enableShardingdados.Dica
mongoshEm, esse comando também pode ser executado por meio do métodosh.enableSharding()assistente.Os métodos auxiliares são convenientes para os
mongoshusuários, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados . Nos casos em que a conveniência 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
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:
Recomendado. Especifique o reconhecimento de data center para criar:
db.adminCommand( { enableSharding: "<database name>" } ) Opcionalmente, você pode incluir a especificação de shard primário no comando, embora isso não seja recomendado:
db.adminCommand( { enableSharding: "<database name>", primaryShard: "<shard name>" } )
Você pode somente executar o comando enableSharding no admin banco de dados do a partir de uma instância mongos do.
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
String | O reconhecimento de data center que você deseja usar. O reconhecimento de data center é criado se não existir. | |
String | Opcional. O fragmento primário do banco de banco de dados. É o fragmento padrão para todas as coleções não fragmentadas no banco de banco de dados. AVISO: em geral, você não deve especificar o fragmento primário. Permita que o cluster selecione o fragmento primário . |
Devoluções
O comando retorna um documento que contém o status da operação.
Comportamento
Escreva preocupação
mongos utiliza "majority" para o comando e enableSharding seu sh.enableSharding() assistente.
Primary shard
Em geral, não é preciso especificar o primaryShard no comando. Em vez disso, permita que o balancer selecione o primary shard.
No entanto, se você especificar o primaryShard no comando de um banco de dados e o banco de dados já estiver habilitado para fragmentação com outro fragmento primário diferente, a operação retornará um erro, e o fragmento primário do banco de dados permanecerá como antes. Para alterar o fragmento primário de um banco de dados, use movePrimary em vez disso.
Exemplo
O seguinte comando, executado a partir de um mongos, cria o reconhecimento de data center do shardTest :
db.adminCommand( { enableSharding: "shardTest" } )