AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

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" : 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")
}
}
}

警告

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

このページを評価