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

ハッシュ比較による検証

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

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

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

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

1

同期されたコレクションを含むデータベースに切り替え、ソースクラスターで dbHashコマンドを実行します。 フィールドに、データベースプレフィックスを除いて、同期に含まれる各コレクションを名前で一覧表示します。次に、 の出力フィールドを返します。collectionsmd5

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

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

2

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

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

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

3

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