정의
sh.moveChunk(namespace, query, destination)Moves the chunk that contains the document specified by the
queryto thedestinationshard.sh.moveChunk()provides a wrapper around themoveChunkdatabase command.중요
In most circumstances, allow the balancer to automatically migrate chunks, and avoid calling
sh.moveChunk()directly.경고
이 명령은
moveChunk명령의find옵션을 사용하므로 해시 샤드 키에는 사용할 수 없습니다. 해시된 샤드 키 를 사용하여 청크를 이동하려면 필드를 지정하는moveChunk명령을bounds사용합니다.중요
Mongo쉬 방법
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.데이터베이스 명령에 대해서는
moveChunk명령을 참조하십시오.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
sh.moveChunk()다음 인수를 사용합니다.Parameter유형설명namespace문자열
마이그레이션할 청크가 포함된 샤드 collection의 네임스페이스 입니다.
query문서
이동할 청크를 선택하는 샤드 키의 동등성 매치입니다.
destination문자열
수신자 샤드 의 ID .
참고
listShards명령을 사용하여 수신자 샤드의 ID 조회.청크의 문서 수가 구성된 청크 청크 를 평균 문서 크기로 나눈 결과의 2 배보다 크면 기본값 으로 MongoDB 는 청크 를 이동할 수 없습니다.
moveChunk명령은 forceJumbo 옵션을 지정하여 점보 레이블 유무에 관계없이 너무 커서 이동할 수 없는 청크를 수동으로 마이그레이션 할 수 있습니다. 자세한 내용은 moveChunk 명령을 참조하세요.
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
- MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0 및 Flex 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
예시
records 데이터베이스의 people collection이 주어지면 다음 작업은 zipcode 필드가 53187 로 설정된 문서를 포함된 청크를 찾은 다음 해당 청크를 shard0019 라는 이름의 샤드로 이동합니다.
sh.moveChunk("records.people", { zipcode: "53187" }, "shard0019")