sh.enableSharding()
Definição
sh.enableSharding(database, primaryShard)
Observação
Alterado na versão 6.0.
A partir do MongoDB 6.0, esse método não é necessário para fragmentar uma collection.
Cria explicitamente um banco de dados. Utilize o método
mongosh
sh.shardCollection()
para fragmentar collections no banco de dados. O método {mongosh
sh.enableSharding()
encapsula o comandoenableSharding
.Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação para comandos de banco de dados nem drivers específicos de linguagem, como Node.js.Para o comando do banco de dados, consulte o comando
enableSharding
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
Compatibilidade
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
Este comando não é suportado em clusters M0, M2 e M5 . 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
sh.enableSharding()
tem o seguinte formato:
sh.enableSharding( <database>, <primary shard> // Optional. )
Parâmetro
O método sh.enableSharding()
utiliza o seguinte parâmetro:
Parâmetro | Tipo | Descrição |
---|---|---|
String | O nome do banco de dados que você deseja criar. | |
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 . |
Comportamento
Escreva preocupação
mongos
usa "majority"
no comando enableSharding
e seu assistente 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 primary shard para um banco de dados e o banco de dados já estiver habilitado para a 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, utilize o comando movePrimary
.
Exemplo
O exemplo a seguir, executado em um mongos
, cria explicitamente o banco de dados shardTest
:
sh.enableSharding("shardTest")
Para verificar, execute sh.status()
.