[TIL] 10월 18일: 2차 프로젝트 마지막날

Jung·2021년 10월 18일
0

TIL

목록 보기
29/77
post-thumbnail

저번에 ObjectId와 관련하여 TIL을 적었다. 그 이유는 바로 이 아래 두 TIL과 관련이 있다.

TIL: MongoDB count함수
TIL: MongoDB ObjectId

MongoDB에는 MySQL의 Auto Increment 기능이 없어서 비슷한 느낌으로 사용했다.

doc = {
        'id': db.trips.count() + 1,
        'title': title_receive,
        'place': place_receive,
        'review': review_receive,
        'file': f'{filename}.{extension}',
        'date': date
    }

    db.trips.insert_one(doc)

이런 식으로 컬렉션 내의 문서 개수를 세서 1씩 더해줘 Auto Increment처럼 사용하려 했다. 하지만 이때는 몰랐지...

이 코드를 프로젝트의 게시글에 적용했다. 하지만 DB를 확인해 보니 id가 겹치는 일이 발생했다.
여러 개의 게시글을 생성하고 하나의 게시글을 지운 뒤에 다시 게시글을 생성하면 id가 중복된다!! 😣 왜 이때는 몰랐을까 ㅠㅠ

그래서 이 id 값이 사용되는 많은 코드들을 MongoDB에 내장 되어 있는 _id로 변경하여 반영했다. _id는 ObjectId로 구성되어 있는데 이와 관련해서 다루는 내용은 TIL: MongoDB ObjectId에 있다.

내일 2차 프로젝트 발표가 있는데 잘 할 수 있을까?? 🤣

profile
97kim.github.io

0개의 댓글