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

checkpointMetadataConsistency

項目一覧

  • 定義
  • 互換性
  • 構文
  • コマンドフィールド
  • 出力
  • 動作
  • バッチ結果
  • Check Indexes
checkMetadataConsistency

クラスター、データベース、またはコレクションのシャーディングメタデータの整合性に関して一連のチェックを実行します。 コマンドは、 不整合の結果のすべてまたはバッチするが見つかったカーソルを返します。

Tip

mongoshでは、このコマンドはdb.checkMetadataConsistency()db.collection.checkMetadataConsistency() 、またはsh.checkMetadataConsistency() ヘルパーメソッドを通じても実行できます。

ヘルパー メソッドはmongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。

アップグレードやダウングレードなどの主要なメンテナンス操作の後にこのコマンドを実行し、カタログの状態を確認します。

デフォルトでは、 コマンドはシャード間での整合性についてインデックスをチェックしません。 インデックスを確認するには、 checkIndexesオプションを設定します。

バージョン 7.0 で追加

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

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

注意

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

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

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

  • クラスター全体でシャーディング メタデータの不整合を確認するには、 adminデータベースから コマンドを実行します。

    db.adminCommand( {
    checkMetadataConsistency: 1
    } )
  • データベースでシャーディング メタデータの不整合を確認するには、 データベース コンテキスト から コマンドを実行します。

    use cars
    db.runCommand( {
    checkMetadataConsistency: 1
    } )
  • シャーディングメタデータの不整合があるコレクションを確認するには、コレクション名を指定して コマンドを実行します。

    use library
    db.runCommand( {
    checkMetadataConsistency: "authors",
    } )
フィールド
タイプ
説明

checkMetadataConsistency

整数または文字列

チェックするコレクションを指定します。

1
データベース内のすべてのコレクションでメタデータの不整合をチェックするよう、 コマンドを設定します。 adminデータベースで実行すると、すべてのデータベース内のすべてのコレクションがチェックされます。
"<collection>"
メタデータの不整合をチェックするようにコレクションを設定します。

checkIndexes

ブール値

コマンドがシャーディング メタデータのインデックスもチェックするかどうかを設定します。

詳細については、「 インデックスのチェック 」を参照してください。

cursor

ドキュメント

リターンカーソル を構成します。

cursor.batchSize

integer

各バッチに含める不整合結果の最大数。

checkMetadataConsistency コマンドは、シャーディングメタデータで見つかった不整合ごとに、ドキュメントを含むカーソルを返します。詳細については、「 不整合のタイプ 」を参照してください。

返されるドキュメントには、次のフィールドが含まれます。

フィールド
タイプ
説明

cursor

ドキュメント

不整合チェックの結果を持つカーソル。

cursor.id

integer

カーソル ID を示す 64 ビット整数。 次の不整合のバッチを取得するには、 getMoreコマンドでcursor.id値を使用します。

カーソルが0の ID を返す場合、これ以上の情報のバッチがないことを示します。

cursor.ns

string

データベースとコレクションで不整合がチェックされました。

cursor.firstBatch

配列

メタデータ整合性チェックの結果。

ok

ブール値

コマンドが成功したかどうかを示します。

checkMetadataConsistencyコマンドは 個の結果をバッチで返します。 バッチサイズをカスタマイズするには、 batchSizeオプションを使用します。

var cur = db.runCommand( {
checkMetadataConsistency: 1,
cursor: {
batchSize: 10
}
} )

cursor.idフィールドが 0 より大きい場合は、 getMoreコマンドで を使用して、次の結果のバッチを取得できます。

checkMetadataConsistencyコマンドは、デフォルトではインデックスをチェックしません。 メタデータの整合性とインデックスを確認するには、 checkIndexesオプションを使用します。

db.runCommand( {
checkMetadataConsistency: 1,
checkIndexes: true
} )

runCommand()を使用してcheckMetadataConsistencyコマンドを実行します。

db.runCommand( { checkMetadataConsistency: 1 } )

出力例:

{
cursor: {
id: Long("0"),
ns: "test.$cmd.aggregate",
firstBatch: [
{
type: "MisplacedCollection",
description: "Unsharded collection found on shard different from database primary shard",
details: {
namespace: "test.authors",
shard: "shard02",
localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4")
}
}
],
},
ok: 1
}

戻る

balancerStop