dbHash
定義
dbHash
データベース内のコレクションのハッシュ値と、これらのコレクションの MD 5値を返します。
dbHash
は、レプリカセットのノードなど、mongod
インスタンス間のデータベースを比較するのに役立ちます。
警告
dbHash
コマンドはデータベースに対する共有ロック(S)を取得し、コマンドが完了するまで書込みを防止します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
This command is not supported in M0, M2, and M5 clusters or in serverless instances. 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { dbHash: 1, collections: [ <collection1>, ... ] } )
コマンドフィールド
このコマンドは、次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|---|---|
dbHash | 任意のタイプ | 実行するコマンド。 任意の値を指定します。 |
collections | 配列 | 任意。 コレクション名の配列。 ハッシュ値を返すコレクションを指定するか、省略するか、空の配列を指定して、データベース内のすべてのコレクションのハッシュ値を返します。 |
動作
存在しないコレクション
collections
配列内のコレクションが存在しない場合、 dbHash
はそのコレクションのハッシュ値を返しません。
制限事項
dbHash
コマンドはafterClusterTimeのサポートを終了しました。 このため、 dbHash
は因果整合性のあるセッション に関連付けることはできません。
Return Document
このコマンドは、次のフィールドを含むドキュメントを返します。
フィールド | 説明 | |||||
---|---|---|---|---|---|---|
ホスト | コマンドが実行される mongod インスタンスのホストとポート。 | |||||
collections | コレクションとそれに対応するハッシュ値を含むドキュメント。
| |||||
capped | Capped コレクションを一覧表示する配列。 | |||||
uuids | コレクションとそれに対応する UUID 値を含むドキュメント。
| |||||
md5 | これらのコレクションの集計ハッシュ値。 | |||||
timeMillis | ハッシュを生成するためのミリ秒数。 | |||||
ok operationTime $clusterTime | すべてのコマンドで返されます。 詳細については、「応答」も参照してください。 |
例
データベース内のすべてのコレクションのハッシュ値を返す
次の例では、データベースtest
内のすべてのコレクションのハッシュ値を返します。
use test db.runCommand( { dbHash: 1 } )
この操作を実行すると次のドキュメントが返されます。
{ "host" : "myHostName.local:27017", "collections" : { "foo" : "d27b769230edc551d869060ec3fb68bd", "inventory" : "ec3d821581ea1bd3aa8196c94b946874", "log" : "d41d8cd98f00b204e9800998ecf8427e", "orders" : "0242c0a128c284ea9576a34db2306c12", "restaurants" : "5dc9b88091c36f0d529567b5b6e3fc92", "zipcodes" : "31ede812bf397509a87359c65bf2a08c" }, "capped" : [ "log" ], "uuids" : { "foo" : UUID("469592fe-3bfe-425e-975f-cedbe0c4741d"), "inventory" : UUID("0830e0ad-cc24-4fc7-80d0-8e22fe45e382"), "log" : UUID("4be024ff-711b-4ab8-836b-dee662e090f1"), "orders" : UUID("755be489-745f-400c-ac3b-f27525ad0108"), "restaurants" : UUID("520b56ec-3276-4904-b6e5-286bc9bfa648"), "zipcodes" : UUID("12e97b70-c174-40af-a178-5d83a241fe20") }, "md5" : "0cb7417ae9d9eb865000b4debdc671da", "timeMillis" : 53, "ok" : 1, "operationTime" : Timestamp(1529208582, 4), "$clusterTime" : { "clusterTime" : Timestamp(1529208582, 4), "signature" : { "hash" : BinData(0,"X3MmevDqUgCVvN1AhnT+fiOL/Lc="), "keyId" : NumberLong("6567898567824900097") } } }
データベース内の指定されたコレクションのハッシュ値を返す
次の例では、データベースtest
内のコレクションinventory
とorders
のハッシュ値を返します。
use test db.runCommand( { dbHash: 1, collections: [ "inventory", "orders" ] } )
この操作を実行すると次のドキュメントが返されます。
{ "host" : "myHostName.local:27017", "collections" : { "inventory" : "ec3d821581ea1bd3aa8196c94b946874", "orders" : "0242c0a128c284ea9576a34db2306c12" }, "capped" : [ ], "uuids" : { "inventory" : UUID("0830e0ad-cc24-4fc7-80d0-8e22fe45e382"), "orders" : UUID("755be489-745f-400c-ac3b-f27525ad0108") }, "md5" : "cb4676f316ff2ff29c701a5edd18afe3", "timeMillis" : 0, "ok" : 1, "operationTime" : Timestamp(1529208801, 1), "$clusterTime" : { "clusterTime" : Timestamp(1529208801, 1), "signature" : { "hash" : BinData(0,"I4z4a4Mgs+tcx0MP5xIU8DYAMB0="), "keyId" : NumberLong("6567898567824900097") } } }