Docs HomeMongoDB Manual

shardingState

On this page

shardingState

shardingState is an admin command that reports if mongod is a member of a sharded cluster. To run the command, you must run against the admin database. See db.adminCommand().

Syntax

The command has the following syntax:

db.adminCommand(
  {
    shardingState: 1
  }
)

Behavior

For shardingState to detect that a mongod is a member of a sharded cluster, the mongod must satisfy the following conditions:

  1. the mongod is a primary member of a replica set, and

  2. the mongod instance is a member of a sharded cluster.

If shardingState detects that a mongod is a member of a sharded cluster, shardingState returns a document that resembles the following prototype:

{
  "enabled" : true,
  "configServer" : "<configdb-string>",
  "shardName" : "<string>",
  "shardHost" : "string:",
  "versions" : {
    "<database>.<collection>" : {
      "placementVersion": Timestamp({ t: 1, i: 1024 }),
      "timestamp": Timestamp({ t: 1682444810, i: 8 })
    },
    "<database>.<collection>" : {
      "placementVersion": Timestamp({ t: 0, i: 0 }),
      "timestamp": Timestamp({ t: 0, i: 0 })
    }
  },
  "ok" : 1,
  "$clusterTime" : {
     "clusterTime" : Timestamp({ t: 1682457265, i: 1 }),
     "signature" : {
        "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),
        "keyId" : NumberLong("6488045157173166092")
     }
  },
  "operationTime" : Timestamp({ t: 1682457260, i: 1 })
}

Otherwise, shardingState will return the following document:

{
  "enabled" : false,
  "ok" : 1,
  "$clusterTime" : {
     "clusterTime" : Timestamp({t:1510716515, i: 1}),
     "signature" : {
        "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),
        "keyId" : NumberLong("6488045157173166092")
     }
  },
  "operationTime" : Timestamp({t: 1510716515, i: 1})
}

The response from shardingState when used with a config server is:

{
   "enabled" : false,
   "ok" : 1,
   "operationTime" : Timestamp({t: 1510767613, i: 1}),
   "$gleStats" : {
      "lastOpTime" : Timestamp({t: 0, i: 0}),
      "electionId" : ObjectId("7fffffff0000000000000001")
   },
   "$clusterTime" : {
      "clusterTime" : Timestamp({t: 1510767613, i: 1}),
      "signature" : {
         "hash" : BinData(0,"IwBZ4SZjIMI5NdM62NObV/R31GM="),
         "keyId" : NumberLong("6488693018630029321")
      }
   }
}

Note

mongos instances do not provide the shardingState.

Warning

This command obtains a write lock on the affected database and will block other operations until it has completed; however, the operation is typically short lived.