AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

복합 색인 만들기

복합 인덱스는 여러 필드에 대한 참조를 포함하는 인덱스입니다. 복합 인덱스는 인덱스의 필드 또는 인덱스 접두사의 필드에 대한 쿼리 성능을 향상합니다.

복합 인덱스를 만들려면 db.collection.createIndex() 메서드를 사용합니다.

db.<collection>.createIndex( {
<field1>: <sortOrder>,
<field2>: <sortOrder>,
...
<fieldN>: <sortOrder>
} )

단일 복합 인덱스에 최대 32개의 필드를 지정할 수 있습니다.

이러한 문서가 포함된 students 컬렉션을 만듭니다.

db.students.insertMany([
{
"name": "Alice",
"gpa": 3.6,
"location": { city: "Sacramento", state: "California" }
},
{
"name": "Bob",
"gpa": 3.2,
"location": { city: "Albany", state: "New York" }
}
])

다음 작업은 namegpa 필드를 포함하는 복합 인덱스를 생성합니다.

db.students.createIndex( {
name: 1,
gpa: -1
} )

이 예시에서는

  • name 인덱스는 오름차순(1)입니다.

  • gpa의 인덱스는 내림차순(-1)입니다.

생성된 인덱스는 다음을 선택하는 쿼리를 지원합니다.

  • namegpa 필드 모두입니다.

  • name은 복합 인덱스의 접두사이므로 name 필드만 해당됩니다.

예를 들어 인덱스는 다음 쿼리를 지원합니다.

db.students.find( { name: "Alice", gpa: 3.6 } )
db.students.find( { name: "Bob" } )

gpa는 인덱스 접두사의 일부가 아니므로 인덱스는 gpa 필드에 대한 쿼리만 지원하지 않습니다. 예를 들어 인덱스는 이 쿼리를 지원하지 않습니다.

db.students.find( { gpa: { $gt: 3.5 } } )