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

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

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

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

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

샤딩된 컬렉션의 고유 인덱스에 적용되는 제약 조건과 샤드 키의 일부가 아닌 필드에서 고유성을 유지하는 방법에 대한 자세한 내용은 샤딩된 클러스터에서 고유성 유지를 참조하세요.

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

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

  • mongosh 를 mongos 인스턴스에 연결합니다.

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

1

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

sh.status()
2

고유 인덱스를 생성하고 샤드 키 region_id을(를) 복합 인덱스의 접두사로 포함합니다.

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