Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

shardingState

이 페이지의 내용

  • 호환성
  • 구문
  • 행동
shardingState

shardingStatemongod 이(가) 샤딩된 클러스터 의 멤버인지 여부를 보고하는 관리자 명령입니다. 명령을 실행 하려면 admin 데이터베이스 에 대해 실행 해야 합니다. db.adminCommand() 를 참조하세요.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.

명령은 다음과 같은 구문을 가집니다:

db.adminCommand(
{
shardingState: 1
}
)

shardingStatemongod가 분할된 클러스터의 멤버임을 감지하려면 mongod가 다음 조건을 충족해야 합니다.

  1. mongod 는 복제본 세트의 프라이머리 멤버이고,

  2. mongod 인스턴스가 샤드 cluster의 멤버입니다.

shardingStatemongod가 샤딩된 클러스터의 멤버임을 감지하면 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)을 획득하고 완료될 때까지 다른 작업을 차단합니다. 그러나 이 작업은 일반적으로 수명이 짧습니다.

돌아가기

shardCollection

이 페이지의 내용