db.checkMetadataConsistency()
定義
db.checkMetadataConsistency(options)
クラスターまたはデータベースのシャーディング メタデータの整合性に関して一連のチェックを実行します。 このメソッドは、不整合の結果のすべてまたはバッチが見つかったカーソルを返します。
重要
mongosh メソッド
このページでは、
mongosh
メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
checkMetadataConsistency
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
アップグレードやダウングレードなどの主要なメンテナンス操作の後にこのメソッドを実行し、MongoDB の以前のリリースのバグが原因でクラスター メタデータが一貫していないか、破損していないかどうかを確認します。
デフォルトでは、 メソッドはシャード間での整合性についてインデックスをチェックしません。 インデックス チェックは、インデックスを作成、削除、または変更する操作と同時に実行されると、誤検知の不整合を返す可能性があります。 この方法でインデックスを確認するには、
checkIndexes
オプションを設定します。By default, the method checks sharding metadata for the given database.
admin
データベースで実行すると、代わりにクラスター全体のシャーディング メタデータが確認されます。このメソッドが検索する不整合について詳しくは、「不整合のタイプ 」を参照してください。
次の値を返します。 このメソッドは、シャーディング メタデータで見つかった各不整合に対応するドキュメントを含む documents
配列を持つカーソルを返します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
db.checkMetadataConsistency()
メソッドの構文は次のとおりです。
db.checkMetadataConsistency( { <options> } )
options
ドキュメントは、次のフィールドと値を取ることができます。
フィールド | タイプ | 説明 |
---|---|---|
checkIndexes | ブール値 | コマンドがシャーディング メタデータのインデックスもチェックするかどうかを設定します。 デフォルトでは、この操作は無効になっています。これは、インデックスを作成、削除、または変更する操作と同時に実行されると、誤検知によって不整合が返される可能性があるためです。 これらの操作が発生する可能性が低いことがわかっている場合にのみ、インデックスをチェックしてください。 |
cursor | ドキュメント | リターンカーソル を構成します。 |
cursor.batchSize | integer | 各バッチに含めるシャーディング メタデータの不整合ドキュメントの最大数。 |
例
データベースでの整合性チェックの実行
データベースで整合性チェックを実行するには、 db.checkMetadataConsistency()
メソッドを呼び出します。
use library db.checkMetadataConsistency()
{ cursorHasMore: false, documents: [ { type: "MisplacedCollection", description: "Unsharded collection found on shard different from database primary shard", details: { namespace: "library.authors", shard: "shard02", localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4") } } ], }
クラスターでの整合性チェックの実行
クラスターで整合性チェックを実行するには、 admin
データベースからdb.checkMetadataConsistency()
メソッドを呼び出します。
use admin db.checkMetadataConsistency()
{ cursorHasMore: false, documents: [ { type: "MisplacedCollection", description: "Unsharded collection found on shard different from database primary shard", details: { namespace: "library.authors", shard: "shard02", localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4") } } ], }