티스토리 뷰

Database/mongoDB

[mongoDB] collection의 index 관리

angieveloper 2022. 3. 26. 23:53

⛳️ 1. index 조회

locations라는 collection에 생성한 index들을 조회하고 싶을 때 .getIndexes()

> db.locations.getIndexes()

아래처럼 index 종류가 출력된다.

[
  { v: 2, key: { _id: 1 }, name: '_id_' },
  {
    v: 2,
    key: { pos: '2dsphere' },
    name: 'pos_2dsphere',
    '2dsphereIndexVersion': 3
  },
  {
    v: 2,
    key: { position: '2dsphere' },
    name: 'position_2dsphere',
    '2dsphereIndexVersion': 3
  }
]

나같은 경우는 pos라는 field가 없는데 2dsphere index가 생성되어 있었고 이 때문에 geoNear query에서 에러가 발생했다.

 

⛳️ 2. index 삭제

(1) index 선택해서 삭제

 

.dropIndex()를 이용해서 index를 삭제하자

> db.collection.dropIndex(index)

index 안에는 key 값을 적어주면 된다.
나 같은 경우는

{
    v: 2,
    key: { pos: '2dsphere' },
    name: 'pos_2dsphere',
    '2dsphereIndexVersion': 3
},

index를 삭제하고 싶으므로 { pos: '2dsphere' } 를 index로 입력한다.

> db.locations.dropIndex({pos: '2dsphere'})

아래처럼 뜨면 index 삭제 성공

{ nIndexesWas: 3, ok: 1 }

 

(2) collection의 모든 index 삭제

 

만약 모든 index를 일괄 삭제하고 싶으면 db.collection.dropIndexes()을 입력한다.

> db.collection.dropIndexes()

 

출처 : https://www.mongodb.com/docs/manual/tutorial/manage-indexes/

 

Manage Indexes — MongoDB Manual

Docs Home → MongoDB ManualThis page shows how to manage existing indexes. For instructions on creating indexes, refer to the specific index type pages.A sharded collection has an inconsistent index if the collection does not have the exact same indexes (

www.mongodb.com

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함