AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

기존의 샤딩된 컬렉션에 고유 인덱스 만들기

이미 샤딩된 컬렉션에 새로운 고유 인덱스를 만들 수 있지만, 인덱스에 샤드 키가 접두사로 포함되어 있는 경우에만 가능합니다.

인덱스의 고유성 제한 조건은 컬렉션의 문서에 인덱스된 필드에 대한 고유한 값이 있도록 합니다. 샤딩된 컬렉션의 경우 MongoDB는 인덱스가 샤드 키이이거나 샤드 키를 접두사로 포함하는 경우에만 고유성을 시행합니다.

이미 샤딩된 컬렉션의 경우, 샤드 키가 접두사로 포함되어 있지 않으면 다른 필드에 고유 인덱스를 생성할 수 없습니다. 인덱스에 샤드 키가 접두사로 포함되어 있지 않으면 createIndexes 명령을 실행할 때 MongoDB 오류를 반환합니다.

샤드 키의 일부가 아닌 필드에서 고유성을 유지하는 방법을 학습하려면 임의 필드에 대한 고유 제약 조건을 참조하세요.

  • 컬렉션의 샤드 키를 식별합니다. 샤드 키를 보려면 sh.status() 메서드를 실행하고 출력에서 컬렉션을 찾습니다.

  • 기존 문서가 필드의 고유성 제한 조건을 위반하지 않는지 확인합니다. 샤드에 중복 값이 있는 문서가 포함되어 있는 경우 인덱스 생성 작업이 중복이 없는 샤드에서는 성공할 수 있지만 중복이 있는 샤드에서는 실패하여 샤드 간 인덱스가 일치하지 않게 됩니다.

다음 예시는 region_id 필드에 샤딩된 accounts.names 컬렉션의 email 필드에 고유 인덱스를 생성합니다.

1

sh.status() 메서드를 실행하고 출력에서 accounts.names 컬렉션을 찾으세요. 샤드 키가 region_id인지 확인하려면:

sh.status()
2

mongosh mongos를 인스턴스 에 연결하고 고유 인덱스 생성합니다. 샤드 키 을 복합 region_id 인덱스 의 접두사로 포함합니다.

db.names.createIndex(
{ region_id: 1, email: 1 },
{ unique: true }
)
region_id_1_email_1