dHash
Nesta página
Definição
dbHash
Retorna os valores de hash das collections em um banco de dados de dados e um valor MD5 para essas collections.
dbHash
é útil para comparar bancos de dados entremongod
instâncias, como entre membros de conjuntos de réplicas.
Aviso
O comando dbHash
obtém um bloqueio compartilhado (S) no banco de dados, o que impede gravações até que o comando seja concluído.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Esse comando não é aceito em clusters M0, M2 e M5 ou em instâncias sem servidor. Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { dbHash: 1, collections: [ <collection1>, ... ] } )
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
dbHash | Qualquer tipo | O comando a executar. Especifique qualquer valor. |
collections | array | Opcional. Uma array de nomes de coleções. Especifique as collections para gerar os valores de hash, ou omita ou especifique uma array vazia para gerar os valores de hash para todas as collections no banco de dados. |
Comportamento
Coleção não existente
Se uma coleção da array collections
for inexistente, dbHash
não retornará um valor de hash para essa coleção.
Restrições
O comando dbHash
não aceita mais afterClusterTime. Como tal, dbHash
não pode ser associada a sessões causalmente consistentes.
documento de devolução
O comando retorna um documento com os seguintes campos:
Campo | Descrição | |||||
---|---|---|---|---|---|---|
Anfitrião | O host e a porta da instância do mongod na qual o comando é executado. | |||||
collections | Um documento com as coleções e seus valores de hash correspondentes.
| |||||
capped | Uma array que relaciona as coleções limitadas. | |||||
uuids | Um documento com as collections e seus valores UUID correspondentes.
| |||||
md5 | O valor de hash agregado para estas coleções. | |||||
timeMillis | Número de milissegundos para gerar o hash. | |||||
ok operationTime $clusterTime | Retornado com cada comando. Consulte também Resposta para obter detalhes. |
Exemplos
Gerar valores de hash para todas as collections em um banco de dados
O exemplo a seguir retorna o valor de hash para todas as coleções no banco de dados test
:
use test db.runCommand( { dbHash: 1 } )
A operação retorna o seguinte documento:
{ "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") } } }
Valores hash retornados para collections específicas em um banco de dados
O exemplo a seguir retorna o valor de hash para as collections inventory
e orders
no banco de dados test
:
use test db.runCommand( { dbHash: 1, collections: [ "inventory", "orders" ] } )
A operação retorna o seguinte documento:
{ "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") } } }