Navigation

shardingState

On this page

shardingState

shardingState is an admin command that reports if mongod is a member of a sharded cluster.

shardingState has the following prototype form:

{ shardingState: 1 }

To run the command, you must run against the admin database. See db.adminCommand().

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>" : Timestamp(<...>),
       "<database>.<collection>" : Timestamp(<...>)
  },
  "ok" : 1,
  "$clusterTime" : {
     "clusterTime" : Timestamp(1510716515, 1),
     "signature" : {
        "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),
        "keyId" : NumberLong("6488045157173166092")
     }
  },
  "operationTime" : Timestamp(1510716515, 1)
}

Otherwise, :dbcommand:`shardingState` will return the following
document:

.. code-block:: javascript

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

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

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

.. note::

   :program:`mongos` instances do not provide the
   :dbcommand:`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.

.. admin-only
←   shardCollection split  →