고유 인덱스는 인덱스 가 샤드 키 이거나 접두사로 포함되지 않는 샤딩된 컬렉션에서 지원되지 않습니다.
이 작업에 대하여
인덱스 에 대한 고유성 제약 조건은 컬렉션 의 문서가 필드 에 설정하다 고유 값을 갖도록 합니다. 샤딩된 컬렉션의 경우, 인덱스 가 샤드 키 이거나 샤드 키 접두사로 포함하지 않는 한, MongoDB 필드 에 고유성 제약 조건을 시행하다 하지 않습니다. 문제를 방지하려면 다음을 수행합니다.
샤딩된 컬렉션에서 샤드 키 사용하지 않는 고유 인덱스 생성하면 MongoDB
createIndexes명령에 오류를 반환합니다.컬렉션 을 샤드 하고 컬렉션 에 샤드 키 사용하지 않는 고유 인덱스 포함되어 있는 경우, MongoDB
shardCollection명령에 오류를 반환합니다.
단계
2
3
컬렉션 샤딩
sh.shardCollection( "accounts.names", { region_id: 1 } )
{ collectionsharded: 'accounts.names', ok: 1, '$clusterTime': { clusterTime: Timestamp( { t: 1759260515, i: 58 } ), signature: { hash: Binary.createFromBase64( 'AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0 ), keyId: Long( '0' ) } }, operationTime: Timestamp( { t: 1759260515, i: 57 } ) }