MongoDB에서 인덱스 생성
인덱스는 쿼리를 효과적으로 해결하는 데 도움이 됩니다. 인덱스가 없으면 MongoDB는 쿼리와 일치하는 문서를 찾기 위해 컬렉션의 각 문서를 살펴봐야 합니다.
시간을 낭비할 수 있으며 이러한 정보를 처리하려면 MongoDB가 필요합니다. 그래서 오늘 글에서는 MongoDB에서 인덱스를 생성하는 방법에 대해 알아보겠습니다.
MongoDB에서 인덱스 생성
인덱스는 액세스 가능한 형식으로 데이터 집합의 제한된 하위 집합을 유지하는 특수 데이터 구조입니다. 특정 필드 또는 필드 모음의 값은 인덱스에 표시된 대로 필드 값에 따라 정렬되어 인덱스에 저장됩니다.
MongoDB는 다양한 유형의 인덱스를 지원합니다. Single Field
, Compound
Index, Multikey
Index, Geospatial
Index, Hashed
Index 및 Clustered
Index는 일부 인덱스입니다.
통사론:
db.COLLECTION.createIndex({ KEY_NAME:1 })
KEY_NAME
은 인덱스를 설정하려는 필드 이름입니다.- 이전 지점은 순서가 오름차순이어야 함을 나타냅니다. 따라서 인덱스를 내림차순으로 구성하려면
-1
을 사용해야 합니다. createIndex()
메서드는 선택적 인수 목록을 허용합니다. 목록은 아래와 같습니다.unique
는 컬렉션이 인덱스 키 또는 키가 이미 존재하는 문서의 삽입을 허용하지 않도록 고유 인덱스를 생성하는 부울 변수입니다. 고유 인덱스를 설정하려면true
를 입력하십시오. 기본값은false
로 설정됩니다.- 부울 변수
background
는 백그라운드에서 인덱스를 구축하므로 다른 데이터베이스 작업을 방해하지 않습니다. 백그라운드에서 구성하려면true
를 지정하십시오. 기본값은false
로 설정됩니다. - 부울 변수
sparse
가true
로 설정된 경우 인덱스는 지정된 필드가 있는 문서만 참조합니다. 이러한 인덱스는 더 적은 공간을 차지하지만 다르게 작동할 수 있습니다(특히 정렬).거짓
이 기본 설정입니다. - 문자열 변수
name
에는 인덱스의 이름이 포함됩니다. 인덱스 이름이 제공되지 않으면 MongoDB는 인덱스 필드의 이름과 정렬 순서를 결합하여 인덱스 이름을 만듭니다. - 문자열 변수
default
language는 중지 단어 목록과 텍스트 인덱스에 대한stemmer
및tokenizer
의 기준을 설정하는 언어입니다. - 정수 변수
expireAfterSeconds
는time-to-live
(TTL
) 값을 초 단위로 정의하여 MongoDB가 이 컬렉션에 문서를 보관하는 기간을 제한합니다.
.createIndex()
여기에 대한 자세한 정보를 찾을 수 있습니다. 다음 예를 사용하여 언급된 아이디어를 이해해 보겠습니다.
> db.users.createIndex({ "email": 1, "country": -1 })
위의 예에서 이메일
이 내림차순
으로 저장되고 국가
가 오름차순
으로 정렬되는 새 복합
인덱스를 만들었습니다. 쿼리가 실행될 때마다 색인은 먼저 사용자의 이메일
을 기준으로 정렬한 다음 각 이메일
값 내에서 국가
를 기준으로 정렬합니다.
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn