- Reference >
- Database Commands >
- Sharding Commands >
- addShardToZone
addShardToZone¶
On this page
Definition¶
Syntax¶
You can only run addShardToZone
on the admin
database
from a mongos
instance.
The addShardToZone
command has the following syntax:
Fields¶
The command takes the following fields:
Field | Type | Description |
---|---|---|
addShardtoZone | string | The name of the shard to associate with the zone. |
zone | string | The name of the zone to associate with the shard. |
The mongo
shell provides the helper method
sh.addShardToZone()
Behavior¶
You can associate a zone with multiple shards, and a shard can associate with multiple zones.
See the zone manual page for more information on zones in a sharded cluster.
Ranges¶
MongoDB effectively ignores zones that do not have at least one range of shard key values associated with it.
To associate a range of shard key values with a zone, use the
updateZoneKeyRange
database command, or the
sh.updateZoneKeyRange()
shell helper.
Security¶
For sharded clusters that enforce access control, you must authenticate as a user whose privileges include either:
update
on theshards
collection in theconfig
database; or, alternatively,enableSharding
on the cluster resource (available starting in version 3.6.16).
The clusterAdmin
or clusterManager
built-in roles have
the appropriate permissions for issuing addShardToZone
. See the
documentation page for Role-Based Access Control for
more information.
Example¶
The following example associates shard0000
with zone JFK
:
A shard can associate with multiple zones. The following example associates
LGA
to shard0000
:
shard0000
associates with both the LGA
zone and the JFK
zone. In a
balanced cluster, MongoDB routes reads and writes covered by either zone to
shard0000
.