[인프런]따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기 #9, 10, 11, 12

오젼·2023년 6월 26일
0

Favorite 모델 만들기

schema를 먼저 만들고 그걸로 model을 만든다.

mongoose.Schema -> 스키마 생성
mongoose.model(name, schema) -> 스키마로 어떤 name의 모델을 만듦

삽질..🫠 504 Gateway Timeout error


휴.. 에러 로그 잘 읽기

오타 문제였음 falase -> false로 변경

Favorite 관련 State 생성

현재 해당 영화를 favorite list에 추가한 사람이 몇 명인지 -> FavoriteNumber

현재 내가 Favorite list에 해당 영화를 추가 했는지 -> Favorited

Favorite 버튼 생성

https://react-icons.github.io/react-icons/search?q=heart
react-icons를 이용해 원하는 아이콘 컴포넌트를 쉽게 가져옴

Favorite 버튼 onClick 함수 설정

Favorited 조건에 따라 removeFromFavorite api를 호출할지 addToFavorite api를 호출할지 정한다.

Favorite 버튼 관련 api 생성

removeFromFavorite

Favorite 데이터베이스에서 movieId와 userFrom이 일치하는 document를 찾아 제거한다.

findOneAndDelete 사용

addToFavorite

새로운 Favorite 인스턴스를 생성하고 다큐먼트를 데이터베이스에 저장해준다.

몽고디비에선 Database > Collection > Document 로 구성되어 있다.

0개의 댓글