Docs Menu
Docs Home
/ / /
C++ 드라이버
/

단일 필드 인덱스

이 페이지의 내용

  • 개요
  • 샘플 데이터
  • 단일 필드 인덱스 만들기
  • 추가 정보
  • API 문서

단일 필드 인덱스는 컬렉션 문서의 단일 필드 에 대한 참조를 보유하는 인덱스입니다. 이러한 인덱스는 단일 필드 쿼리 및 정렬 성능을 향상시킵니다. 또한 특정 시간 후 또는 지정된 시계 시간에 컬렉션 에서 문서를 자동으로 제거하는 TTL 인덱스를 지원 합니다.

단일 필드 인덱스 를 만들려면 create_index() 메서드를 호출하고 다음 정보가 포함된 문서 를 지정합니다.

  • 인덱스 를 생성할 필드입니다.

  • 인덱싱된 값의 정렬 순서입니다. 오름차순에는 1 을 사용하고 내림차순에는 -1 을 사용합니다.

참고

기본값 _id_ 인덱스 는 단일 필드 인덱스 의 예시 입니다. 이 인덱스 는 새 컬렉션 이 생성될 때 _id 필드 에 자동으로 생성됩니다.

이 가이드 의 예제에서는 Atlas 샘플 데이터 세트sample_mflix 데이터베이스 에 있는 movies 컬렉션 을 사용합니다. C++ 애플리케이션 에서 이 컬렉션 에 액세스 하려면 Atlas cluster 에 연결하는 mongocxx::client 를 인스턴스화하고 dbcollection 변수에 다음 값을 할당합니다.

auto db = client["sample_mflix"];
auto collection = db["movies"];

무료 MongoDB Atlas cluster 를 생성하고 샘플 데이터 세트를 로드하는 방법을 학습 보려면 Atlas 시작하기 가이드 를 참조하세요.

다음 예시 에서는 create_index() 메서드를 사용하여 title 필드 에 오름차순 단일 필드 인덱스 를 생성합니다.

auto index_specification = make_document(kvp("title", 1));
auto result = collection.create_index(index_specification.view());

다음 쿼리 는 앞의 코드 예시 에서 생성된 인덱스 에 포함됩니다.

auto document = collection.find_one(make_document(kvp("title","Peter Pan")));
std::cout << bsoncxx::to_json(*document) << std::endl;
{ "_id" :..., "plot" : "Peter Pan enters the nursery of the Darling children...",
"genres" : [ "Adventure", "Fantasy", "Family" ], "runtime" : 105,...}

인덱스 관리 방법을 보여주는 실행 가능한 예제를 보려면 인덱스를 사용하여 쿼리 최적화를 참조하세요.

인덱스에 학습 보려면 MongoDB Server 매뉴얼에서 다음 리소스를 참조하세요.

이 가이드 에서 설명하는 메서드에 대해 학습 보려면 다음 API 설명서를 참조하세요.

돌아가기

인덱스 작업