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. Use o método
mongoshsh.shardCollection()para fragmentar collections no banco de dados. O métodomongoshsh.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 ou drivers específicos de idioma, 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 MongoDB específica do idioma.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: o serviço totalmente gerenciado para implantações MongoDB na nuvem
Importante
Este 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
O sh.enableSharding() tem o seguinte formulário:
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. Aviso Dica Em geral, não é necessário especificar o primary shard. Permita que o balancer selecione o primary shard. |
Comportamento
Escreva preocupação
mongos usa "majority" para o 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 fragmento primário para um banco de dados e o banco de dados já estiver habilitado para a fragmentação com outro fragmento primário diferente, a operação retornará um erro, e o fragmento primário do banco de dados permanecerá como antes. Para alterar o fragmento primário de um banco de dados, use 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().