기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
단일 필드 인덱스
단일 필드 인덱스는 문서 모음의 단일 필드의 정보를 저장합니다. 기본적으로 모든 컬렉션에는 _id 필드에 인덱스가 있습니다. 인덱스를 추가하여 중요한 쿼리와 작업의 속도를 높일 수 있습니다.
단일 필드 인덱스는 다음과 같은 경우에 유용합니다.
-
애플리케이션은 특정 필드의 값을 기반으로 문서를 자주 쿼리하거나 필터링합니다.
-
특정 필드를 기준으로 문서를 효율적으로 정렬해야 합니다.
-
고유 인덱스를 생성하여 컬렉션의 문서 간에 특정 필드의 고유성을 보장하고자 합니다.
지원되는 인덱스 속성
| 옵션 | 3.6 | 4.0 | 5.0 | 8.0 | 탄력적 클러스터 |
|---|---|---|---|---|---|
| 이름 | 예 | 예 | 예 | 예 | 예 |
| 고유 | 예 | 예 | 예 | 예 | 예 |
| 스파스 * | 예 | 예 | 예 | 예 | 예 |
| partialFilterExpression* | 아니요 | 아니요 | 예 | 예 | 아니요 |
| expireAfterSeconds | 예 | 예 | 예 | 예 | 예 |
* sparse 및 partialFilterExpression 옵션은 동일한 인덱스 정의에서 함께 사용할 수 없습니다. 이러한 옵션으로 인덱스를 생성하려고 하면 다음 오류와 함께 인덱스가 실패합니다.
Error in specification: cannot mix partialFilterExpression and sparse options
단일 필드 인덱스 생성
createIndex() 메서드를 사용하여 단일 필드 인덱스를 생성합니다. 구문은 다음과 같습니다. db.collection.createIndex(<key>, <options>)
key 파라미터는 필드와 인덱스 정렬 순서를 지정하는 JSON 문서입니다.
{ "<field>": <1 (ascending)|-1 (descending)> }
options 파라미터는 인덱스에 대한 옵션을 지정하는 JSON 문서입니다.
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression>, "expireAfterSeconds": <seconds before expiry> }
단일 필드 인덱스 생성 예제는 인덱스 속성을 참조하세요.