Docs Menu

Docs HomeMongoDB Manual

sh.enableSharding()

On this page

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

Note

Changed in version 6.0.

Starting in MongoDB 6.0, this method is not required to shard a collection.

Explicitly creates a database. Use the mongosh method sh.shardCollection() to shard collections on the database. The mongosh method sh.enableSharding() wraps the enableSharding command.

The sh.enableSharding() has the following form:

sh.enableSharding(
<database>,
<primary shard> // Optional. Available starting in MongoDB 4.2.2 (and 4.0.14)
)

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

Parameter
Type
Description
String

The name of the database you want to create.

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.

Available starting in MongoDB 4.2.2 (and 4.0.14)

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, explicitly creates the shardTest database:

sh.enableSharding("shardTest")

To verify, run sh.status()

Tip

See also:

←  sh.enableAutoSplitsh.getBalancerState() →
Give Feedback
© 2022 MongoDB, Inc.

About

  • Careers
  • Investor Relations
  • Legal Notices
  • Privacy Notices
  • Security Information
  • Trust Center
© 2022 MongoDB, Inc.