문서 메뉴

문서 홈애플리케이션 개발MongoDB 드라이버Java 동기화 드라이버

인덱스 빌더

이 페이지의 내용

  • 개요
  • 오름차순 인덱스
  • 내림차순 인덱스
  • 복합 인덱스
  • 텍스트 인덱스
  • 해시 인덱스
  • 지리 공간적 인덱스

이 가이드에서는 MongoDB Java 드라이버의 빌더 를 사용하여 인덱스 를 지정하는 방법을 배울 수 있습니다. Indexes 빌더는 다음 유형의 인덱스를 구성하기 위한 헬퍼 메서드를 제공합니다.

  • 오름차순 인덱스

  • 내림차순 인덱스

  • 복합 인덱스

  • 텍스트 인덱스

  • 해시 인덱스

  • 지리 공간적 인덱스

인덱스는 컬렉션 데이터 세트의 하위 집합을 저장합니다. 인덱스는 특정 필드 또는 필드 세트의 값을 필드 값에 따라 정렬하여 저장합니다. 인덱스가 적용되는 쿼리의 예는 인덱스 가이드를 참조하세요.

클래스는 Indexes 모든 MongoDB 인덱스 유형에 대한 정적 팩토리 메서드를 제공합니다. 각 메서드는 다음을 반환합니다 . 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() 빌더 메서드를 사용하여 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);
← 필터 빌더