定義
- dbHash
- データベース内のコレクションのハッシュ値と、これらのコレクションの MD 5値を返します。 - dbHashは、レプリカセットのノードなど、- mongodインスタンス間のデータベースを比較するのに役立ちます。
警告
dbHashコマンドはデータベースに対する共有ロック(S)を取得し、コマンドが完了するまで書込みを防止します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
重要
このコマンドは、M0 および Flex クラスターではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
構文
このコマンドの構文は、次のとおりです。
db.runCommand(    {      dbHash: 1,      collections: [ <collection1>, ... ]    } ) 
コマンドフィールド
このコマンドは、次のフィールドを使用します。
| フィールド | タイプ | 説明 | 
|---|---|---|
| 
 | 任意のタイプ | 実行するコマンド。 任意の値を指定します。 | 
| 
 | 配列 | 任意。 コレクション名の配列。 ハッシュ値を返すコレクションを指定するか、省略するか、空の配列を指定して、データベース内のすべてのコレクションのハッシュ値を返します。 | 
動作
存在しないコレクション
collections配列内のコレクションが存在しない場合、 dbHashはそのコレクションのハッシュ値を返しません。
制限事項
dbHashコマンドはafterClusterTimeのサポートを終了しました。 このため、 dbHashは因果整合性のあるセッション に関連付けることはできません。
Return Document
このコマンドは、次のフィールドを含むドキュメントを返します。
| フィールド | 説明 | |||||
|---|---|---|---|---|---|---|
| ホスト | コマンドが実行される | |||||
| 
 | コレクションとそれに対応するハッシュ値を含むドキュメント。  | |||||
| 
 | Capped コレクションを一覧表示する配列。 | |||||
| 
 | コレクションとそれに対応する UUID 値を含むドキュメント。  | |||||
| 
 | これらのコレクションの集計ハッシュ値。 | |||||
| 
 | ハッシュを生成するためのミリ秒数。 | |||||
| okoperationTime$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" : Long("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" : Long("6567898567824900097")       }    } }