sh.enableSharding()
Nesta página
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.
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 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. |
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()
.