본문 바로가기
카테고리 없음

[mongodb] pymongo.errors.DuplicateKeyError

by 카프리썬_ 2021. 4. 16.
728x90
728x90

상황

python으로 크롤링한 데이터들 중에서 몇가지 필요한 데이터만 뽑았다.

그리고 다시 다루기 쉬운 dict형태로 만든 뒤 여러데이터들이니 list로 묶었다.

그 다음 이 데이터들을 mongodb에 넣어야한다. 

 

문제

그런데 mongodb에 넣으려고 하는데 아래와 같은 오류가 발생했따

pymongo.errors.DuplicateKeyError : E11000 duplicate key error collection: mydb.aws. index : _id_ dup key

데이터베이스명은 mydb, 컬렉션명은 aws 

 

원인

mongodb에 넣으려고 하는데 id인 키가 중복된다는 의미이다. insert할때 자동으로 id로 pk를 넣는다.

그런데 이 pk중복으로 나타난 원인인 것이다.

알고보니 초기화의 문제였다.

 

list안에 넣을 dict을 맨 처음에 선언하는 바람에 mongodb로 넣는 dict들이 다 같은 걸로 인식된 것이다.

그래서 _id가 다 같아서 중복키에러가 발생한것

 

해결책 

mongodb에 넣을 dict을 생성하는데 넣어서 계속 초기화 시켜줬다.

 

참고자료 

www.programmersought.com/article/30011341431/

728x90
반응형