Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

shardingState

項目一覧

  • 互換性
  • 構文
  • 動作
shardingState

shardingStateは、 mongodが シャーディングされたクラスターのメンバーであるかどうかを報告する管理コマンドです。 コマンドを実行するには、 adminデータベースに対して を実行する必要があります。 詳しくはdb.adminCommand()を参照してください。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.adminCommand(
{
shardingState: 1
}
)

shardingStatemongodがシャーディングされたクラスターのメンバーであることを検出するには、 mongodが次の条件を満たす必要があります。

  1. mongodはレプリカセットのプライマリ メンバーであり、

  2. mongodインスタンスがシャーディングされたクラスターのメンバーである。

shardingStatemongodがシャーディングされたクラスターのメンバーであることを検出した場合、 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" : NumberLong("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" : NumberLong("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" : NumberLong("6488693018630029321")
}
}
}

警告

このコマンドは、影響を受けるデータベースに対して書込みロック (write lock) を取得し、完了するまで他の操作をブロックします。ただし、この操作は通常短時間です。

戻る

shardCollection