shardingStateshardingStateis an admin command that reports ifmongodis a member of a sharded cluster. To run the command, you must run against theadmindatabase. Seedb.adminCommand().
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
참고
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { shardingState: 1 } )
행동
For shardingState to detect that a mongod is a member of a sharded cluster, the mongod must satisfy the following conditions:
If shardingState detects that a mongod is a member of a sharded cluster, shardingState returns a document that resembles the following prototype:
{ "enabled" : true, "configServer" : "<configdb-string>", "shardName" : "<string>", "shardHost" : "string:", "versions" : { "<database>.<collection>" : { "placementVersion": Timestamp({ t: 1, i: 1024 }), "timestamp": Timestamp({ t: 1682444810, i: 8 }) }, "<database>.<collection>" : { "placementVersion": Timestamp({ t: 0, i: 0 }), "timestamp": Timestamp({ t: 0, i: 0 }) } }, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp({ t: 1682457265, i: 1 }), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : Long("6488045157173166092") } }, "operationTime" : Timestamp({ t: 1682457260, i: 1 }) }
Otherwise, shardingState will return the following document:
{ "enabled" : false, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp({t:1510716515, i: 1}), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : Long("6488045157173166092") } }, "operationTime" : Timestamp({t: 1510716515, i: 1}) }
The response from shardingState when used with a config server is:
{ "enabled" : false, "ok" : 1, "operationTime" : Timestamp({t: 1510767613, i: 1}), "$gleStats" : { "lastOpTime" : Timestamp({t: 0, i: 0}), "electionId" : ObjectId("7fffffff0000000000000001") }, "$clusterTime" : { "clusterTime" : Timestamp({t: 1510767613, i: 1}), "signature" : { "hash" : BinData(0,"IwBZ4SZjIMI5NdM62NObV/R31GM="), "keyId" : Long("6488693018630029321") } } }
참고
mongos instances do not provide the shardingState.
경고
이 명령은 영향을 받는 데이터베이스에 대한 쓰기 잠금(write lock)을 획득하고 완료될 때까지 다른 작업을 차단합니다. 그러나 이 작업은 일반적으로 수명이 짧습니다.