Docs Menu
Docs Home
MongoDB Manual
/ / /


On this page

  • Definition
  • Considerations
  • Example

Adds a shard replica set to a sharded cluster. This method must be run on a mongos instance.


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 addShard command.

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

For the legacy mongo shell documentation, refer to the documentation for the corresponding MongoDB Server release:

mongo shell v4.4

The sh.addShard() method has the following parameter:


The replica set name, hostname, and port of at least one member of the shard's replica set. Any additional replica set member hostnames must be comma separated. For example:

<replica_set>/<hostname><:port>,<hostname><:port>, ...

The sh.addShard() method has the following prototype form:



Do not use localhost for the hostname unless your config server is also running on localhost.

mongos installed from official .deb and .rpm packages have the bind_ip configuration set to by default.

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

When you add a shard to a sharded cluster, you affect the balance of chunks among the shards of a cluster for all existing sharded collections. The balancer will begin migrating chunks so that the cluster will achieve balance. See Balancer Internals for more information.


You cannot include a hidden member in the seed list provided to sh.addShard().

To add a shard, specify the name of the replica set and the hostname of at least one member of the replica set, as a seed. If you specify additional hostnames, all must be members of the same replica set.

The following example adds a replica set named repl0 and specifies one member of the replica set:

← sh.abortReshardCollection()