- 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>" : {       "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" : Long("6488045157173166092")      }   },   "operationTime" : Timestamp({ t: 1682457260, i: 1 }) } 
それ以外の場合、 shardingStateは次のドキュメントを返します。
{   "enabled" : false,   "ok" : 1,   "$clusterTime" : {      "clusterTime" : Timestamp({t:1510716515, i: 1}),      "signature" : {         "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),         "keyId" : Long("6488045157173166092")      }   },   "operationTime" : Timestamp({t: 1510716515, i: 1}) } 
コンフィギュレーションサーバー で使用した場合のshardingState からの応答は次のとおりです。
{    "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" : Long("6488693018630029321")       }    } } 
注意
mongosインスタンスはshardingStateを提供しません。
警告
このコマンドは、影響を受けるデータベースに対して書込みロック (write lock) を取得し、完了するまで他の操作をブロックします。ただし、この操作は通常短時間です。