인덱스 빌더
개요
이 가이드 에서는 MongoDB Java 운전자 에서 빌더 를 사용하여 인덱스 를 지정하는 방법을학습 수 있습니다. Indexes
빌더는 다음 유형의 인덱스를 구성하기 위한 헬퍼 메서드를 제공합니다.
인덱스는 컬렉션 데이터 세트의 하위 집합을 저장합니다. 인덱스는 특정 필드 또는 필드 세트의 값을 필드 값에 따라 정렬하여 저장합니다. 인덱스가 적용되는 쿼리의 예는 인덱스 가이드를 참조하세요.
Indexes
클래스는 모든 MongoDB 인덱스 유형에 대한 정적 팩토리 메서드를 제공합니다. 각 메서드는 BSON 다음을 반환합니다 createIndex()에 전달할 수 있는 인스턴스입니다.
팁
간결하게 하기 위해 인덱스 의 모든 메서드를 가져오도록 선택할 수 있습니다. 클래스를 정적으로 생성합니다.
import static com.mongodb.client.model.Indexes.*;
다음 예시에서는 이 정적 가져오기를 가정합니다.
오름차순 인덱스
오름차순 인덱스를 사용하면 인덱싱된 필드의 값을 기준으로 쿼리 결과를 가장 작은 필드부터 가장 큰 필드까지 정렬할 수 있습니다.
오름차순 인덱스를 만들려면 먼저 ascending() 빌더 메서드를 사용하여 인덱스 Bson
문서를 나타내는 인스턴스를 만들고 인덱싱하려는 필드의 이름을 하나 이상 전달합니다. 그런 다음 컬렉션에서 createIndex()
메서드를 호출하여 인덱스 문서가 포함된 Bson
인스턴스를 전달합니다.
참고
단일 필드에 오름차순 또는 내림차순 인덱스가 있는 경우 MongoDB는 어느 방향으로든 인덱스를 사용하여 정렬할 수 있습니다.
다음 예시에서는 name
필드에 오름차순 인덱스를 지정합니다.
Bson ascendingIndex = ascending("name"); collection.createIndex(ascendingIndex);
내림차순 인덱스
내림차순 인덱스를 사용하면 인덱싱된 필드의 값을 기준으로 쿼리 결과를 가장 큰 필드부터 가장 작은 필드까지 정렬할 수 있습니다.
내림차순 인덱스를 만들려면 먼저 내림차순() 을 호출합니다. 빌더 메서드를 사용하여 인덱스 문서를 나타내는 인스턴스를 만들고 Bson
인덱싱하려는 필드의 이름을 하나 이상 전달합니다. 그런 다음 컬렉션에서 createIndex()
메서드를 호출하여 인덱스 문서가 포함된 Bson
인스턴스를 전달합니다.
다음 예시에서는 capacity
필드에 내림차순 인덱스를 지정합니다.
Bson descendingIndex = descending("capacity"); collection.createIndex(descendingIndex);
복합 인덱스
복합 인덱스를 생성하려면 먼저 복합 인덱스 () 를 호출합니다. 빌더 메서드를 사용하여 Bson
인덱스 문서를 나타내는 인스턴스를 만들고 인덱싱할 필드의 이름을 전달합니다. 그런 다음 컬렉션에서 createIndex()
메서드를 호출하여 인덱스 문서가 포함된 Bson
인스턴스를 전달합니다.
다음 예제에서는 capacity
및 필드의 year
내림차순 인덱스와 필드의 오름차순 인덱스로 구성된 복합 인덱스를 지정합니다.name
Bson compoundIndexExample = compoundIndex(descending("capacity", "year"), ascending("name")); collection.createIndex(compoundIndexExample);
Text Indexes
텍스트 인덱스는 인덱스된 필드의 텍스트를 기준으로 문서를 그룹화합니다.
텍스트 인덱스를 만들려면 먼저 text() 빌더 메서드를 사용하여 Bson
인덱스 문서를 나타내는 인스턴스를 만들고 인덱싱할 필드의 이름을 전달합니다. 그런 다음 컬렉션에서 createIndex()
메서드를 호출하여 인덱스 문서가 포함된 Bson
인스턴스를 전달합니다.
다음 예제에서는 'theaters' 필드에 텍스트 인덱스 키를 지정합니다.
Bson textIndex = text("theaters"); collection.createIndex(textIndex);
해시 인덱스
해시된 인덱스는 인덱스된 필드의 해시 값을 기준으로 문서를 그룹화합니다.
해시된 인덱스를 생성하려면 먼저 hashed() 빌더 메서드를 사용하여 인덱스 문서를 나타내는 인스턴스를 만들고 인덱싱할 필드의 이름을 전달합니다.Bson
그런 다음 컬렉션에서 createIndex()
메서드를 호출하여 인덱스 문서가 포함된 Bson
인스턴스를 전달합니다.
다음 예제에서는 capacity
필드에 해시된 인덱스를 지정합니다.
Bson hashedIndex = hashed("capacity"); collection.createIndex(hashedIndex);
지리 공간적 인덱스
2dsphere
인덱스는 인덱스된 필드의 좌표를 기준으로 문서를 그룹화합니다.
인덱스를 생성하려면 먼저 2dsphere
geo2dsphere() 빌더 메서드를 사용하여 Bson
인덱스 문서를 나타내는 인스턴스를 만들고 인덱싱할 필드의 이름을 하나 이상 전달합니다. 그런 다음 컬렉션에서 createIndex()
메서드를 호출하여 인덱스 문서가 포함된 Bson
인스턴스를 전달합니다.
다음 예제에서는 location
필드에 2dsphere
인덱스를 지정합니다.
Bson geo2dsphereIndex = geo2dsphere("location"); collection.createIndex(geo2dsphereIndex);