E1100 duplicate key error collection

mangojang·2022년 4월 19일
1

상황

nested array 의 id 값에 unique를 설정, 처음 등록 값이 빈값이 이었고, 다음 등록을 하려는 상황에서 다음과 같은 상황이 발생함.

해결방안

  1. getIndexes() → dropIndexes()

    • db.collection명.getIndexes() 으로 에러가 난 index 확인
    • db.collection명.dropIndex(”key”:”value”) 으로 에러난 index를 삭제함.

    참고문헌

    https://velog.io/@0hhanum/express-MongoError-E11000-duplicate-key-error-collection

    ⇒ 허나 이 방법은 나에게 일회성 대안 이었음.

  2. 기존 db drop , 스키마 unique 옵션 해제

    사수의 도움으로 해결의 실마리를 얻음.

    원인은 unique 값을 옵션으로 준 것

    기존 db를 drop 하고 스키마 unique 옵션 해제 하고 db등록시, error 없이 잘 진행 됨.

    필자의 경우 개발 테스트 상황이었기에 drop을 쉽게 할 수 있었지만, 실제 운영되는서비스의 경우에는 아주 위험한 방법 이다.

profile
한 걸음 한 걸음 계속 걷는 자가 일류다

0개의 댓글