sh.balancerCollectionStatus()

On this page本页内容

Definition定义

sh.balancerCollectionStatus(namespace)

New in version 4.4.版本4.4中的新功能。

Returns a document that contains information about whether the chunks of a sharded collection are balanced (i.e. do not need to be moved) as of the time the command is run or need to be moved because of draining shards, zone violation or imbalance of chunks across shards.

The mongo shell method sh.balancerCollectionStatus() wraps the balancerCollectionStatus command.

Syntax语法

The sh.balancerCollectionStatus has the following form:

sh.balancerCollectionStatus( <namespace> )

Parameter

The sh.balancerCollectionStatus() method takes the following parameter:

Parameter参数Type类型Description描述
namespace String

The of the collection to shard in the form "<database>.<collection>".

Access Control

When running with access control, the user must have the enableSharding privilege actions on database and/or collection to run the method. That is, a user must have a role that grants the following privilege:

{ resource: { db: <database>, collection: <collection> }, actions: [ "enableSharding" ] }

The built-in clusterManager role provides the appropriate privileges.

Example示例

To check whether the chunks of a sharded collection test.contacts is currently in balance, connect to a mongos instance and issue the following:

sh.balancerCollectionStatus("test.contacts")

If the chunks for the collection do not need to be moved, the method returns an output similar to the following:

{
   "balancerCompliant" : true,
   "ok" : 1,
   "operationTime" : Timestamp(1583193238, 1),
   "$clusterTime" : {
      "clusterTime" : Timestamp(1583193238, 1),
      "signature" : {
         "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
         "keyId" : NumberLong(0)
      }
   }
}

For the description of the output, see balancerCollectionStatus Output.