이제 본격적으로
database
를 만들어 본다.
CRUD
는 비디오를 생성(Create
), 읽기(Read
), 수정하기(Update
) 그리고 삭제하기(Delete
) 를 말하는 거다.
src
안에 models
라는 폴더를 하나 만들어 준다. 그 안에 video.js
파일을 만든다.
지금 하는 건 비디오 model을 만드는 거다.
mongoose
는 mongodb
와 대화를 하게 해준다. 그러니 위해서 mongoose를 조금 손볼 필요가 있다.
mongoose
에게 애플리케이션의 데이터들이 어떻게 생겼는지 알려줘야 한다.
예를 들어 비디오에 제목이 있고, 세부 설명이 있고, 등등 데이터가 어떻게 생겼는지 알려줘야한다.
이렇게 알려주면 mongoose
는 데이터를 만들고, 삭제하고 , 수정하고 검색하는걸 도와준다.
예를 들어 현재 비디오 컨트롤러에는 object
만 있을 뿐이다.
그리고 이 object
의 모양을 강제 해주는 역할을 하는 건 없다.
object
를 하나 만들고 있는데 다른 객체와 같은 구조를 갖도록 주의 해서 만들어야 한다.
왜냐하면 그냥 object
일 뿐이다. 원하는건 database
가 도와줬으면 하는 거다.
동영상을 생성 할 때, 검색 할 때, 업데이트 할 때 이다. 그러기 위해 database
에게
데이터가 어떻게 생겼는지 말해줘야 한다.
database
는 구체적인 값을 알 필요가 없다. database
가 알아야 하는건
데이터가 어떻게 생겼는지 하는 것이다.
예를 들어 video
는 뭘 가지고 있나? 작성자를 갖고 있나? 댓글은? 댓글은 숫자인가? 아니면 문자인가?
타이틀은 가지고 있나? 타이틀은 숫자인가? 문자열인가? 아니면 배열인가?
이런 것들을 database
에 알려 줘야 한다.
그게 바로 model
을 만드는 이유이다. database
에게 설명해 주면 그렇게 해줌으로써
database
가 model
을 만들고, model
을 검색하고, 삭제하고, 수정 하는걸 도와 준다.
그래서 설명을 해줘야 하는거다. 예를 들어 'second video
라고 구체적인 값을 주는게 아니라
video
에는 제목이 있고, 그건 문자형이다. 이런식으로 말해주면 된다.
그렇게 하면 비디오를 생성 할 때 마다 database
는 title
로 문자형 타입인 값을 보낼것이다.