DBAtlas · 데이터베이스 운영 아틀라스

86 IndexKeySpecsConflict: IndexKeySpecsConflict

MongoDB

의미

생성하려는 인덱스가 기존 인덱스와 같은 키 지정(같은 필드/순서)을 가지지만 옵션이나 이름이 다르다. MongoDB는 같은 키로 충돌하는 두 인덱스 정의를 허용하지 않는다.

원인

같은 필드에 다른 이름이나 다른 옵션(예: 다른 collation, partialFilterExpression, unique 설정)으로 두 번째 인덱스를 생성하려 한 경우다. 보통 마이그레이션/코드에서 인덱스 정의를 변경하고 다시 실행할 때 발생한다.

해결 방법

기존 인덱스를 확인한다: db.collection.getIndexes() 같은 키를 가진 충돌 인덱스를 찾는다. 원하는 옵션으로 바꾸려면 먼저 이전 인덱스를 삭제한(dropIndex) 후 새 정의로 다시 생성한다. 이름만 다르다면 기존 인덱스를 계속 사용하고 불필요한 두 번째 정의를 만들지 않는다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목