Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
루비 드라이버
/

Multikey Indexes

멀티키 인덱스는 배열 값 필드에 대한 쿼리 성능을 개선하는 인덱스입니다. 메서드와 단일 필드인덱스 생성하는 데 사용하는 create_one 것과 동일한 구문을 사용하여 컬렉션 에 멀티키 인덱스 생성할 수 있습니다.

멀티키 인덱스 생성할 때는 다음 세부 정보를 지정해야 합니다.

  • 인덱스 를 생성할 필드

  • 각 필드 의 정렬 순서(오름차순 또는 내림차순)

이 가이드 의 예제에서는 Atlas 샘플 데이터 세트sample_mflix 데이터베이스 에 있는 movies 컬렉션 사용합니다. Ruby 애플리케이션 에서 이 컬렉션 에 액세스 하려면 Atlas cluster 에 연결하는 Mongo::Client 객체 만들고 databasecollection 변수에 다음 값을 할당합니다.

database = client.use('sample_mflix')
collection = database[:movies]

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

create_one 메서드를 사용하여 멀티키 인덱스 만듭니다. 다음 예시 cast 필드 에 오름차순으로 인덱스 생성합니다.

collection.indexes.create_one({ cast: 1 })

컬렉션 의 인덱스를 나열하여 인덱스 생성되었는지 확인할 수 있습니다. 다음 출력과 같이 목록에 cast 에 대한 인덱스 표시되어야 합니다.

puts collection.indexes.collect(&:to_json)
{"v": 2, "key": {"cast": 1}, "name": "cast_1"}

다음은 cast 필드 에 생성된 인덱스 에 포함되는 쿼리 의 예시 입니다.

filter = { cast: { '$all' => ['Aamir Khan', 'Kajol'] } }
doc = collection.find(filter).first
if doc
puts doc.to_json
else
puts "No document found"
end
{"_id":...,"title":"Fanaa",...,"cast": ["Aamir Khan", "Kajol", "Rishi Kapoor", "Tabu"],...}

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

멀티키 인덱스에 대해 자세히 학습 MongoDB Server 매뉴얼의 멀티키 인덱스를 참조하세요.

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

돌아가기

복합

이 페이지의 내용