Definición
dbHashDevuelve los valores hash de las colecciones en una base de datos y un valor MD5 para estas colecciones.
dbHashes útil comparar bases de datos entremongodinstancias, como entre miembros de conjuntos de réplicas.
Advertencia
El comando dbHash obtiene un bloqueo compartido (S) sobre la base de datos, lo que impide escrituras hasta que el comando se complete.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { dbHash: 1, collections: [ <collection1>, ... ] } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| Cualquier tipo | El comando a ejecutar. Especifique cualquier valor. |
| arreglo | opcional. Un arreglo de nombres de colección. Puede especificar las colecciones para las cuales regresar los valores hash, omitir o especificar un arreglo vacío para regresar los valores hash para todas las colecciones en la base de datos. |
Comportamiento
Colección inexistente
Si una colección en el arreglo collections no existe, dbHash no devuelve un valor hash para esa colección.
Restricciones
El comando dbHash ya no admite afterClusterTime. Como tal, dbHash no puede asociarse con sesiones causalmente coherentes.
Return Document
El comando devuelve un documento con los siguientes campos:
Campo | Descripción | |||||
|---|---|---|---|---|---|---|
host | El host y el puerto de la instancia | |||||
| Un documento con las colecciones y sus valores hash correspondientes. | |||||
| Un arreglo que enumera las colecciones con tamaño fijo. | |||||
| Un documento con las colecciones y sus valores UUID correspondientes. | |||||
| El valor hash acumulado para estas colecciones. | |||||
| Número de milisegundos para generar el hash. | |||||
okoperationTime$clusterTime | Se devuelve con cada comando. Consulta también Respuesta para más detalles. |
Ejemplos
Devolver valores hash para todas las colecciones en una base de datos
El siguiente ejemplo devuelve el valor hash para todas las colecciones en la base de datos test:
use test db.runCommand( { dbHash: 1 } )
La operación devuelve el siguiente 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" : Long("6567898567824900097") } } }
Devolver valores hash para Colecciones específicas en una Base de Datos
El siguiente ejemplo devuelve el valor hash para las colecciones inventory y orders en la base de datos test:
use test db.runCommand( { dbHash: 1, collections: [ "inventory", "orders" ] } )
La operación devuelve el siguiente 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" : Long("6567898567824900097") } } }