sh.addShard()
On this page
Definition
sh.addShard(<url>)
-
Adds a shard replica set to a sharded cluster. This method must be run on a
mongos
instance.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
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:The
sh.addShard()
method has the following parameter:Parameter Type Description host
string 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:sh.addShard("<replica_set>/<hostname><:port>")
Warning
mongos
uses"majority"
for theaddShard
command and its helpersh.addShard()
.
Considerations
Balancing
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.
Hidden Members
Important
You cannot include a hidden member in the seed list provided to sh.addShard()
.
Example
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.addShard("repl0/mongodb3.example.net:27327")