shardingStateshardingState는mongod이(가) 샤딩된 클러스터 의 멤버인지 여부를 보고하는 관리자 명령입니다. 명령을 실행 하려면admin데이터베이스 에 대해 실행 해야 합니다.db.adminCommand()를 참조하세요.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
참고
이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
{ shardingState: 1 }
명령을 실행하려면 admin 데이터베이스에 대해 실행해야 합니다. db.adminCommand() 을(를) 참조하세요.
행동
shardingState가 mongod가 분할된 클러스터의 멤버임을 감지하려면 mongod가 다음 조건을 충족해야 합니다.
shardingState가 mongod가 샤딩된 클러스터의 멤버임을 감지하면 shardingState는 다음 프로토타입과 유사한 문서를 반환합니다.
{ "enabled" : true, "configServer" : "<configdb-string>", "shardName" : "<string>", "shardHost" : "string:", "versions" : { "<database>.<collection>" : Timestamp(<...>), "<database>.<collection>" : Timestamp(<...>) }, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1510716515, 1), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : NumberLong("6488045157173166092") } }, "operationTime" : Timestamp(1510716515, 1) }
그렇지 않으면 shardingState 다음 문서를 반환합니다.
{ "enabled" : false, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1510716515, 1), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : NumberLong("6488045157173166092") } }, "operationTime" : Timestamp(1510716515, 1) }
config 서버와 함께 사용할 때 shardingState의 응답은 다음과 같습니다.
{ "enabled" : false, "ok" : 1, "operationTime" : Timestamp(1510767613, 1), "$gleStats" : { "lastOpTime" : Timestamp(0, 0), "electionId" : ObjectId("7fffffff0000000000000001") }, "$clusterTime" : { "clusterTime" : Timestamp(1510767613, 1), "signature" : { "hash" : BinData(0,"IwBZ4SZjIMI5NdM62NObV/R31GM="), "keyId" : NumberLong("6488693018630029321") } } }
참고
mongos 인스턴스는 shardingState 를 제공하지 않습니다.
경고
이 명령은 영향을 받는 데이터베이스에 대한 쓰기 잠금(write lock)을 획득하고 완료될 때까지 다른 작업을 차단합니다. 그러나 이 작업은 일반적으로 수명이 짧습니다.