Definição
enableShardingObservação
Alterado na versão 6.0.
A partir do MongoDB 6.0, este comando não é necessário para fragmentar uma collection.
The
enableShardingcommand explicitly creates a database.Dica
In
mongosh, this command can also be run through thesh.enableSharding()helper method.Helper methods are convenient for
mongoshusers, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.
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
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>" } )
You can only run the enableSharding command on the admin database from a mongos instance.
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. Aviso Dica Em 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 uses "majority" for the enableSharding command and its helper sh.enableSharding().
Primary shard
Em geral, não é preciso especificar o primaryShard no comando. Em vez disso, permita que o balancer selecione o primary shard.
However, if you do specify the primaryShard in the command for a database and the database is already sharding enabled with a different primary shard, the operation returns an error and the primary shard for the database remains as before. To change the primary shard for a database, use movePrimary instead.
Exemplo
O seguinte comando, executado a partir de um mongos, cria o reconhecimento de data center do shardTest :
db.adminCommand( { enableSharding: "shardTest" } )