Enjoy Programming

Express - editing a Video 본문

JavaScript/Node.JS

Express - editing a Video

LEETAEEON 2021. 5. 6. 04:19

이번엔 비디오 수정페이지를 다루자.

먼저 routes.js로 가서 editVideo 라우트를 함수로 만들어주자

아이디를 인자로 받기로 하고 id값이 들어오면 /vidoes/id/edit으로 접속하고

id가 없다면 edit_video url으로 라우트 한다.

이제 함수로 만들어줬으니 videoDetail 템플릿에서 링크에 routes.editVideo()함수로 바꿔주고 video controller에서 받은

video에 id를 받아온다. 

그리고 videoRouter상에 editVideo도 함수로 바꿔준다

 

그리고 할 일은 get을 통해 url은 routing했으니 post를 통해 업데이트 하는 컨트롤러를 하나더 만들어주자

기존 editVideo는 getEditVideo로 수정했고 이제 postEditVideo를 하나 만들었다

역시 params에 id를 가져오고 바디파서를 통해 수정된 제목과 세부내용을 request에 담는다

그리고 Video모델에 findeOneAndUpdate() 쿼리문을 통해 request아이디의 타이틀과 세부사항을 업데이트 해주고서

다시 해당 영상의 상세페이지로 이동하게 한다.

 

컨트롤러는 만들었고 editVideo 컨트롤러가 두개로 바꼈으니

비디오 라우터도 수정을 해주자

 

그리고 editVideo 템플릿에 라우트도 수정해주고 수정페이지에 들어오면 기존 세부사항과 타이틀이 남아있게 하기 위해 박스에 벨류를 추가해준다.

 

요렇게 하니 수정이 잘 되었다~!~!~!

한가지! findOneAndUpdate에서 아이디를 받아와 타이틀과 세부사항을 업데이트 했는데 니코쌤과 다르게 $set을 활용해서 해도 되긴했다.

이부분은 좀더 찾아보자

mongoosejs.com/docs/queries.html

 

Mongoose v5.12.7: Queries

Queries Mongoose models provide several static helper functions for CRUD operations. Each of these functions returns a mongoose Query object. A mongoose query can be executed in one of two ways. First, if you pass in a callback function, Mongoose will exec

mongoosejs.com

 

'JavaScript > Node.JS' 카테고리의 다른 글

Eslint (node.js)  (0) 2021.05.09
Express - Deleting a Video  (0) 2021.05.08
Express - mongoDB Getting Video by ID  (0) 2021.05.06
Express - Uploading and Creating a Video 2  (0) 2021.05.05
Express - Uploading and Creating a Video  (0) 2021.05.04