Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

dHash

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Comportamento
  • documento de devolução
  • Exemplos
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 entre mongod 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.

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

O comando tem a seguinte sintaxe:

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

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.

Se uma coleção da array collections for inexistente, dbHash não retornará um valor de hash para essa coleção.

O comando dbHash não aceita mais afterClusterTime. Como tal, dbHash não pode ser associada a sessões causalmente consistentes.

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.

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

capped

Uma array que relaciona as coleções limitadas.

uuids

Um documento com as collections e seus valores UUID correspondentes.

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

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.

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

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

Voltar

tamanho de dados