enableSharding
Definição
enableSharding
Observaçã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
enableSharding
cria 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
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:
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" } )