Associates a shard with a zone. MongoDB associates this shard with the given zone. Chunks that are covered by the zone are assigned to shards associated with the zone.
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.
For the database command, see the
For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
For the legacy
mongoshell documentation, refer to the documentation for the corresponding MongoDB Server release:
This method has the following parameter:
This method is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
This command is not supported in serverless instances. For more information, see Unsupported Commands.
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 sharded clusters.
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
By defining the zones and the zone ranges before sharding an empty or a non-existing collection, the shard collection operation creates chunks for the defined zone ranges as well as any additional chunks to cover the entire range of the shard key values and performs an initial chunk distribution based on the zone ranges. This initial creation and distribution of chunks allows for faster setup of zoned sharding. After the initial distribution, the balancer manages the chunk distribution going forward.
See Pre-Define Zones and Zone Ranges for an Empty or Non-Existing Collection for an example.
For sharded clusters that enforce access control, you must authenticate as a user whose privileges include either:
shardscollection in the
configdatabase; or, alternatively,
The following example adds three zones,
associating each to a shard:
sh.addShardToZone("shard0000", "JFK") sh.addShardToZone("shard0001", "LAX") sh.addShardToZone("shard0002", "NRT")
A shard can associate with multiple zones. The following example associates
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