#230110
데이터를 등록할 때마다 테이블이 갖고 있는 데이터의 개수 + 1 한 값을 num값으로 저장했었다.
이 때, 데이터를 삭제하고 다시 등록할 경우, 줄어든 데이터의 개수 + 1 값은 기존 데이터의 num 값과 중복될 수 있다.
데이터 식별성에 문제가 생긴다.
테이블에 든 데이터 중에서 num 값이 제일 큰 데이터를 골라서, 그 데이터의 num 값에 1 더한 값을 저장할 데이터의 num 값으로 한다.
수정 전
watch_list = list(db.movieList.find({}, {'_id': False}))
count = len(watch_list) + 1
doc = {
'num': count,
'movie': movie_receive,
'done': 0
}
수정 후
idnum = db.movieList.find_one(sort=[("num", -1)])["num"] + 1
doc = {
'num': idnum,
'movie': movie_receive,
'done': 0
}
mongoDB 데이터 중 가장 큰 값을 찾고 싶다면, 다음 코드를 사용하면 된다.
db.things.find_one(sort=[("num", -1)]) # Max 값
db.things.find_one(sort=[("num", 1)]) # Min 값