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