dbHash
定义
警告
dbHash
命令在数据库上获得共享 (S) 锁,这会在命令完成之前禁止写入。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
M 0 、M 2和 M 5集群或无服务器实例不支持此命令。 有关更多信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
该命令具有以下语法:
db.runCommand( { dbHash: 1, collections: [ <collection1>, ... ] } )
命令字段
该命令接受以下字段:
字段 | 类型 | 说明 |
---|---|---|
| 任何类型 | 要运行的命令。可以指定任何值。 |
| 阵列 | 可选。集合名称的数组。 指定要返回哈希值的集合,或者省略或指定一个空数组以返回数据库中所有集合的哈希值。 |
行为
不存在的集合
如果 collections
数组中的某个集合不存在,则 dbHash
不会返回该集合的哈希值。
限制
dbHash
命令不再支持 afterClusterTime。因此,dbHash
不能与因果一致会话相关联。
returnDocument
此命令将返回一个包含以下字段的文档:
示例
返回数据库中的所有集合的哈希值
以下示例返回数据库 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") } } }