raise NotUniqueError(message % err)
mongoengine.errors.NotUniqueError: Tried to save duplicate unique keys
(E11000 duplicate key error collection: frated.movie index:
imdbid_1 dup key: { imdbid: null },
full error: {'index': 0, 'code': 11000, 'keyPattern': {'imdbid': 1},
'keyValue': {'imdbid': None}, 'errmsg': 'E11000 duplicate key error collection:
frated.movie index: imdbid_1 dup key: { imdbid: null }'})
Postman을 사용해서 GET, PUT, POST 메소드를 써보는데 다음과 같은 에러가 났다.
또한 데이터베이스에는 900개 가량의 Documents가 있었는데 하나만 남고 나머지는 다 없어졌다.
왜 그런가 하니, Postman에서 테이블 이름을 만들 때 대문자까지 json이랑 같이 해야 오류가 안나서
다 대문자로 바꿔줬는데, 그러다보니 unique key 가 중복됐었다.
>> 3.29 추가 : json 파일의 key값과 동일하게 스키마를 만들면 오류가 나지 않습니다...
unique key 옵션은 안 넣어도 잘 동작하니 Document를 드랍하고 다시 해 보세요.
+ 기존 테이블에서 여러 테이블에 unique key 속성을 넣었던 것도 문제의 원인인 듯 했다.
어차피 데이터를 넣을때 _id가 생성되니
class Movie(db.Document):
Title = db.StringField()
Year = db.IntField()
() 부분에 unique key 속성을 다 제거했다.
그리고 몽고DB compass에서 테이블을 Drop하고 같은 이름으로 새로 생성했다.
그러니 데이터가 더이상 사라지지 않는다!
'개발 > Flask, Fastapi' 카테고리의 다른 글
heroku 로딩 속도 느린 현상 해결하기(non sleep) (0) | 2021.05.16 |
---|---|
flask-mongoengine으로 추가한 데이터가 Mongodb에서 보이지 않을 때 (0) | 2021.03.29 |
Flask 로 MongoDB Atlas 데이터베이스와 연동하기 (0) | 2021.03.26 |
mongodump 없이 Mongocb Collection 백업하고 복사하기 (0) | 2021.03.26 |
flask-mongoalchemy vs mongoengine (0) | 2021.03.25 |