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

ハッシュ比較による検証

ソースクラスターから宛先クラスターに同期されたコレクションの MD 5ハッシュを比較することで、同期を確認できます。 ハッシュの比較により、宛先クラスターがソースからすべての変更を受け取ったことが保証されますが、 dbHashコマンドはクラスターをロックし、完了するまで追加の書込みを防ぎます。 このプロセスは、ドキュメント数を使用する検証よりもはるかに遅くなる可能性があります。

シャーディングされたクラスターではハッシュ比較はできません。

シャーディングされたクラスターや MongoDB の古いリリースを同期する必要がある場合、またはアプリケーション ワークロードでロックが受け入れられない場合は、別の検証方法を使用します。

dbHash コマンドは現在のデータベース内のコレクションのみをハッシュされたし、collections フィールドはコレクション名をそのまま受け入れます。accounts.us_accounts のようにコレクション名にデータベース名を含めると、dbHash は一致するコレクションを見つけられず、両方のクラスターで空の入力のハッシュされたを返します。複数のデータベース内のコレクションをハッシュされたするには、各データベースに順番に切り替え、データベースごとにコマンドを1回実行し、各データベースの md5 値を個別に比較します。

1

同期されたコレクションを含むデータベースに切り替え、ソースクラスターで dbHash コマンドを実行します。collections フィールドに、同期に含まれる各コレクションの名前をデータベースプレフィックスなしでリストします。次に、md5 出力フィールドを返します。

use accountsdb.runCommand({ dbHash: 1, collections: [ "us_accounts", "eu_accounts", ... ]}).md5
9a1e4b7c2f8d3056ae91cbd4f72608b3

このコマンドを実行しながら、宛先ハッシュを取得します。

2

同期されたコレクションを含むデータベースに切り替え、宛先クラスターで dbHash コマンドを実行します。collections フィールドに、同期に含まれる各コレクションの名前をデータベースプレフィックスなしでリストします。次に、md5 出力フィールドを返します。

use accountsdb.runCommand({ dbHash: 1, collections: [ "us_accounts", "eu_accounts", ... ]}).md5
9a1e4b7c2f8d3056ae91cbd4f72608b3

ハッシュに注目してください。

3

各クラスターのmd5値を比較します。 両方のクラスターが同じ MD5 値を返す場合、同期は成功しました。