기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다중 키 인덱스
배열 값이 있는 필드의 경우 다중 키 인덱스를 사용하면 배열의 각 요소에 대한 인덱스 키를 생성할 수 있습니다. 배열을 인덱싱하면 배열의 각 요소에 대한 인덱스 항목이 생성됩니다.
다중 키 인덱스는 애플리케이션이 배열의 값을 기반으로 문서를 자주 쿼리하거나 필터링할 때 유용합니다.
지원되는 인덱스 속성
| 옵션 | 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> }
다음 예제에서는 이름이 인 오름차순으로 정렬된 categories 필드에 다중 키 인덱스를 생성합니다. book_categories
db.collection.createIndex( { "categories": 1 }, { "name": "book_categories" } )
다중 키 인덱스 생성 예제는 인덱스 속성을 참조하세요.