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 de dados . Use o método {
mongoshsh.shardCollection()para fragmentar coleções no banco de banco de dados. O método {mongoshsh.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
Esse comando não é suportado em clusters M0 e Flex. 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 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().