- 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:
updateon theshardscollection in theconfigdatabase; or, alternatively,enableShardingon 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.