- shardingState
- shardingStateは、- mongodが シャーディングされたクラスターのメンバーであるかどうかを報告する管理コマンドです。 コマンドを実行するには、- adminデータベースに対して を実行する必要があります。 詳しくは- db.adminCommand()を参照してください。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
構文
このコマンドの構文は、次のとおりです。
db.adminCommand(   {     shardingState: 1   } ) 
動作
shardingStateがmongodがシャーディングされたクラスターのメンバーであることを検出するには、 mongodが次の条件を満たす必要があります。
shardingStateがmongodがシャーディングされたクラスターのメンバーであることを検出した場合、 shardingStateは次のプロトタイプのようなドキュメントを返します。
{   "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" : Long("6488045157173166092")      }   },   "operationTime" : Timestamp(1510716515, 1) } 
それ以外の場合、 shardingStateは次のドキュメントを返します。
{   "enabled" : false,   "ok" : 1,   "$clusterTime" : {      "clusterTime" : Timestamp(1510716515, 1),      "signature" : {         "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),         "keyId" : Long("6488045157173166092")      }   },   "operationTime" : Timestamp(1510716515, 1) } 
コンフィギュレーションサーバー で使用した場合のshardingState からの応答は次のとおりです。
{    "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" : Long("6488693018630029321")       }    } } 
注意
mongosインスタンスはshardingStateを提供しません。
警告
このコマンドは、影響を受けるデータベースに対して書込みロック (write lock) を取得し、完了するまで他の操作をブロックします。ただし、この操作は通常短時間です。