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을 생성하는데 넣어서 계속 초기화 시켜줬다.
참고자료
728x90
반응형