Docs Menu
Docs Home
/ /

고유 인덱스가 있는 샤드 컬렉션

고유 인덱스는 인덱스 가 샤드 키 이거나 접두사로 포함되지 않는 샤딩된 컬렉션에서 지원되지 않습니다.

인덱스 에 대한 고유성 제약 조건은 컬렉션 의 문서가 필드 에 설정하다 고유 값을 갖도록 합니다. 샤딩된 컬렉션의 경우, 인덱스 가 샤드 키 이거나 샤드 키 접두사로 포함하지 않는 한, MongoDB 필드 에 고유성 제약 조건을 시행하다 하지 않습니다. 문제를 방지하려면 다음을 수행합니다.

1

샤드 키 사용할 인덱스 생성합니다.

db.names.createIndex( { region_id: 1 } )
region_id_1
2

컬렉션 에 대한 고유 인덱스 만듭니다. 인덱스 의 접두사로 샤드 키 포함합니다.

db.names.createIndex(
{ region_id: 1, email: 1 },
{ unique: true }
)
region_id_1_email_1
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 } )
}

돌아가기

고유하게 변환