🌿

9. 인덱스

인덱스는 데이터 집합을 탐색하기 쉬운 형식으로 저장하는 데이터 구조입니다. 인덱스는 인덱스에 지정된 필드 값에 따라 정렬된 필드의 값을 저장합니다. 또한, 쿼리의 효율적인 검색을 지원하며, 인덱스가 없으면 컬렉션의 모든 문서를 검색하여 쿼리문과 일치하는 문서를 선택해야 합니다. 
 

1. 인덱스 생성

인덱스를 생성하기 위해서 createIndex를 사용합니다. 이때, 1은 오름차순, -1은 내림차순입니다.
db.user_info.createIndex({id:1})
notion imagenotion image
 
인덱스를 기준으로 읽기
db.user_info.find({id:{$gt:10}})
 
복합 필드 인덱스 생성
db.user_info.createIndex({id:1,age:-1})
 
인덱스 속성
unique : 컬렉션에 단 한개의 값만 존재할 수 있음
db.userinfo.createIndex( { email: 1 }, { unique: true } )
 
복합 unique
db.userinfo.createIndex( { firstName: 1, lastName: 1 }, { unique: true } )
 

2. 인덱스 검색

컬렉션의 모든 인덱스를 검색합니다.
db.user_info.getIndexes()
notion imagenotion image
 

3. 인덱스 제거

인덱스 제거할 때 1은 오름 -1 내림
db.user_info.dropIndex( {name:1} ) db.user_info.dropIndex( )
notion imagenotion image
 
id 인덱스를 제외한 모든 인덱스를 제거 할 땐 dropIndexes() 메소드를 사용합니다
db.user_info.dropIndexes( )
notion imagenotion image