문서의 샤드 키 값 변경
이 페이지의 내용
샤드 키 필드가 변경할 수 없는 _id
필드가 아닌 경우 문서의 샤드 키 값을 업데이트할 수 있습니다.
중요
샤드 키 값을 업데이트하는 경우
에 있어야 합니다
mongos
. 샤드 에서 직접 작업을 실행하지 마세요 .반드시 쿼리 필터의 전체 샤드 키에 대한 동등 조건을 포함해야 합니다. 예를 들어,
{ activityid: 1, userid : 1 }
을 샤드 키로 사용하는messages
컬렉션을 가정해 보겠습니다. 문서의 샤드 키 값을 업데이트하려면 쿼리 필터에activityid: <value>, userid: <value>
를 포함해야 합니다. 필요에 따라 쿼리에 추가 필드를 포함할 수 있습니다.
샤드 컬렉션에 대해 실행할 때 추가 작업별 요구 사항은 특정 쓰기 명령/메서드를 참조하세요.
샤드 키 값을 업데이트하려면 다음 작업을 사용합니다.
명령 | 메서드 |
---|---|
multi: false 로 업데이트 |
|
| |
샤드 키 수정으로 인해 문서가 다른 샤드로 이동하는 경우 일괄 작업에서 샤드 키 수정을 두 번 이상 지정할 수 없으며 배치 크기는 1이어야 합니다. 샤드 키를 수정해도 문서가 다른 샤드로 이동하지 않는 경우 일괄 작업에서 여러 샤드 키 수정을 지정할 수 있습니다.
|
경고
샤딩된 컬렉션의 문서에는 샤드 키 필드가 누락될 수 있습니다. 문서의 샤드 키 값을 변경할 때 실수로 샤드 키를 제거하지 않도록 주의해야 합니다.
예시
location
필드에 샤딩된 sales
컬렉션을 가정해 보겠습니다. 컬렉션에 _id
12345
및 location
""
이 있는 문서가 포함되어 있습니다. 이 문서의 필드 값을 업데이트하려면 다음 명령을 실행하면 됩니다.
db.sales.updateOne( { _id: 12345, location: "" }, { $set: { location: "New York"} } )