Docs Menu

dbHash

dbHash

Returns the hash values of the collections in a database and an MD5 value for these collections. dbHash is useful to compare databases across mongod instances, such as across members of replica sets.

警告

The dbHash command obtains a shared (S) lock on the database, which prevents writes until the command completes.

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M0、M2、M5、および Flex クラスターまたはサーバーレス インスタンスではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.runCommand(
{
dbHash: 1,
collections: [ <collection1>, ... ]
}
)

このコマンドは、次のフィールドを使用します。

フィールド
タイプ
説明

dbHash

Any type

The command to run. Specify any value.

collections

配列

Optional. An array of collection names.

Either specify the collections for which to return the hash values, or omit or specify an empty array to return the hash values for all collections in the database.

If a collection in the collections array is non-existent, dbHash does not return a hash value for that collection.

The dbHash command no longer support afterClusterTime. As such, dbHash cannot be associated with causally consistent sessions.

The command returns a document with the following fields:

フィールド
説明

host

The host and port of the mongod instance on which the command is run.

collections

A document with the collections and their corresponding hash values.

{
<collection1>: <hash1>,
<collection2>: <hash2>,
...
}

capped

An array that lists the capped collections.

uuids

A document with the collections and their corresponding UUID values.

{
<collection1>: <UUID1>,
<collection2>: <UUID2>,
...
}

md5

The aggregate hash value for these collections.

timeMillis

Number of milliseconds to generate the hash.

ok
operationTime
$clusterTime

Returned with every command. See also 応答 for details.

The following example returns the hash value for all collections in the database 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")
}
}
}

The following example returns the hash value for the collections inventory and orders in the database test:

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")
}
}
}