Docs Menu
Docs Home
/
MongoDB Manual
/ / /

sh.enableSharding()

On this page

  • Definition
  • Compatibility
  • Syntax
  • Behavior
  • Example
sh.enableSharding(database, primaryShard)

Enables sharding on the specified database. Once you enabled sharding for a database, you can use sh.shardCollection() to shard collections in that database. The mongosh method sh.enableSharding() wraps the enableSharding command.

Important

mongosh Method

This page documents a mongosh method. This is not the documentation for database commands or language-specific drivers, such as Node.js.

For the database command, see the enableSharding command.

For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.

This method is available in deployments hosted in the following environments:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Important

This command is not supported in M0, M2, and M5 clusters. For more information, see Unsupported Commands.

The sh.enableSharding() has the following form:

sh.enableSharding(
<database>,
<primary shard> // Optional.
)

The sh.enableSharding() method takes the following parameter:

Parameter
Type
Description
String

The database for which you wish to enable sharding.

String

Optional. The primary shard for the database; the primary shard contains the unsharded collection for this database. In general, rather than explicitly specifying the primary shard, it is recommended to let the balancer select the primary shard instead.

Warning

Tip

In general, you should not need to specify the primary shard. Allow the balancer to select the primary shard instead.

mongos uses "majority" for the enableSharding command and its helper sh.enableSharding().

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 primary shard for a database and the database is already enabled for sharding 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 the movePrimary command instead.

The following example, run from a mongos, enables sharding for the test database:

sh.enableSharding("test")

To verify, run sh.status().

Tip

See also:

Back

sh.enableAutoSplit