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

인덱스 만들기

애플리케이션 이 동일한 필드에 대해 반복적으로 쿼리를 실행하는 경우 해당 필드에 인덱스 생성하여 성능을 개선합니다.

인덱스를 만들려면 드라이버에 createIndex() 셸 메서드 또는 이와 동등한 메서드를 사용합니다. 이 페이지에는 MongoDB Shell 및 드라이버의 예시가 나와 있습니다.

MongoDB Shell 또는 드라이버에서 인덱스 생성 명령을 실행하면 동일한 사양의 인덱스가 존재하지 않는 경우에만 인덱스가 생성됩니다.

인덱스는 쿼리 성능을 향상시키지만 인덱스를 추가하면 쓰기 작업의 성능에 부정적인 영향을 미칩니다. 쓰기 대 읽기 비율이 높은 컬렉션의 경우 각 삽입 및 업데이트는 인덱스도 업데이트해야 하므로 비용이 많이 듭니다.

경고

암호화됨 필드에 인덱스를 생성하지 마세요. Queryable Encryption 사용하는 암호화됨 필드에 인덱스를 생성하면 성능에 부정적인 영향을 미칩니다. 대신 __safeContent__ 필드 에 인덱스 만들어 암호화됨 필드에 대한 쿼리를 지원 수 있습니다.


➤ 이 페이지에 있는 예시의 언어를 설정하려면 오른쪽 탐색 창에서 언어 선택 드롭다운 메뉴를 사용합니다.


To create an index in mongosh, use db.collection.createIndex().

db.collection.createIndex( <key and index type specification>, <options> )

이 예시에서는 name 필드에 단일 키 오름차순 인덱스를 만듭니다.

db.collection.createIndex( { name: 1 } )

Use mongosh to monitor index creation.

현재 빌드 중인 인덱스를 포함하여 컬렉션에 존재하는 인덱스를 확인하려면 db.collection.getIndexes() 메서드를 실행합니다.

db.collection.getIndexes()

인덱스가 빌드되고 있는지 확인하려면 $currentOp 와 함께 db.aggregate() 를 admin 데이터베이스에서 사용합니다.

다음 집계 파이프라인 $match 단계를 사용하여 name 필드에 내림차순 인덱스 작성하는 활성 작업을 표시합니다.

db.getSiblingDB("admin").aggregate( [
{ $currentOp : { idleConnections: true } },
{ $match : {"command.createIndexes": { $exists: true } } }
] )

MongoDB는 active 필드를 false로 설정하여 쿼럼 커밋 대기를 포함한 다양한 단계의 인덱스 생성을 유휴 연결로 표시합니다. idleConnections: true 설정에는 이러한 유휴 연결이 $currentOp 출력에 포함됩니다.

드라이버를 사용하여 기존 인덱스에 대한 정보를 확인하려면 해당 드라이버 문서를 참조하세요.

이 페이지 평가하기