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: The fully managed service for MongoDB deployments in the cloud
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 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 . |
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
In general, you should not need to specify the primaryShard in the command. Instead, allow the balancer to select the 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" } )