DB해시
정의
dbHash
데이터베이스 에 있는 컬렉션의 해시 값과 이러한 컬렉션에 대한 MD5 값을 반환합니다.
dbHash
는 복제본 세트의 멤버와 같이mongod
인스턴스 전반에서 데이터베이스를 비교하는 데 유용합니다.
경고
dbHash
명령은 데이터베이스에서 공유 (S) 잠금을 획득하여 명령이 완료될 때까지 쓰기를 방지합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0, M2 및 M5 클러스터 또는 서버리스 인스턴스에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.runCommand( { dbHash: 1, collections: [ <collection1>, ... ] } )
명령 필드
이 명령은 다음 필드를 사용합니다.
필드 | 유형 | 설명 |
---|---|---|
dbHash | 모든 유형 | 실행할 명령입니다. 값을 지정합니다. |
collections | 배열 | 선택 사항 컬렉션 이름의 배열입니다. 해시 값을 반환할 컬렉션을 지정하거나 데이터베이스의 모든 컬렉션에 대한 해시 값을 반환하려면 빈 배열을 생략하거나 지정하세요. |
행동
존재하지 않는 컬렉션
collections
배열의 컬렉션이 존재하지 않는 경우 dbHash
는 해당 컬렉션에 대한 해시 값을 반환하지 않습니다.
제한 사항
dbHash
명령은 더 이상 afterClusterTime을 지원하지 않습니다. 따라서 dbHash
는 인과적으로 일관된 세션과 연결될 수 없습니다.
returnDocument
이 명령은 다음 필드가 있는 문서를 반환합니다.
필드 | 설명 | |||||
---|---|---|---|---|---|---|
호스트 | 명령이 실행되는 mongod 인스턴스의 호스트와 포트입니다. | |||||
collections | 컬렉션과 해당 해시 값이 있는 문서입니다.
| |||||
capped | 고정 사이즈 컬렉션을 나열하는 배열입니다. | |||||
uuids | 컬렉션과 해당 UUID 값이 있는 문서입니다.
| |||||
md5 | 이러한 컬렉션에 대한 집계 해시 값입니다. | |||||
timeMillis | 해시를 생성하는 데 걸리는 시간(밀리초)입니다. | |||||
ok operationTime $clusterTime | 모든 명령과 함께 반환됩니다. 자세한 내용은 응답을 참조하세요. |
예시
데이터베이스의 모든 컬렉션에 대한 해시값 반환
다음 예에서는 데이터베이스 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") } } }
데이터베이스의 지정된 collection에 대한 해시 값 반환
다음 예시에서는 데이터베이스 test
의 collection 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") } } }