Definição
enableShardingObservação
Alterado na versão 6.0.
A partir do MongoDB 6.0, esse comando não é necessário para fragmentar uma collection.
O comando
enableShardingcria explicitamente um banco de dados.Dica
Em
mongosh, esse comando também pode ser executado por meio do método auxiliarsh.enableSharding().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
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ê só pode executar o comando enableSharding no banco de dados admin a partir de uma instância mongos .
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 primary shard do banco de dados; o contém a collection não fragmentada desse banco de dados. Em geral, em vez de especificar explicitamente o primary shard, é recomendável deixar o balancer selecioná-lo. AvisoDicaEm geral, não é necessário especificar o primary shard. Permita que o balancer selecione o primary shard. |
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 enableSharding e seu auxiliar sh.enableSharding().
Primary shard
Em geral, não é preciso especificar o primaryShard no comando. Em vez disso, permita que o balanceador selecione o fragmento primário.
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 primary shard diferente, a operação retornará um erro, e o primary shard do banco de dados permanecerá como antes. Para alterar o primary shard 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" } )