일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ECMAScript
- HTML
- Session
- graphQL
- Flutter
- clonecoding
- JavaScript
- javscript
- CLONE
- ES6
- heroku
- DART
- NextJs
- GRID
- CSS
- MongoDB
- express
- node.js
- 자바스크립트
- form
- react
- backend
- Mongoose
- pug
- nodejs
- TypeScript
- API
- Component
- 리액트
- frontend
- Today
- Total
목록MongoDB (21)
Enjoy Programming

이번엔 비디오 삭제를 기능을 구현해보자. 역시 라우트에서 라우트를 id인자를 받는 함수로 바꿔준다. 그리고 id를 받으면 delete로 넘어가도록 라우트 설정을 해줌 그리고 컨트롤러 수정도 해주자 파라미터로 id를 받아준다. async await으로 역시 waiting을 해주고 mongoose methoddls findOneAndDelete로 해당 비디오를 삭제해주자 그리고 결과가 어떻든 홈페이지로 다시 redirect를 해주기 때문에 해당 코드는 try catch 스코프 바깥에 작성했다 그리고 edit.pug에서 delete링크에 라우트설정을 함수로 바꾸고 video.id 매개변수를 넣어주자. 마지막으로 비디오 라우터도 수정~ 이제 삭제가 된다. but@!!! 파일 uploads/videos 에는 업로..

이번엔 비디오 수정페이지를 다루자. 먼저 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로 수정했고 이제 postEditVide..

비디오 업로드는 되지만 비디오가 재생이 되지는 않는다 현재 링크가 제대로 이루어지지 않았기 때문이다. 일단 생성된 videos폴더를 지우고 다시 upload/videos로 변경해주자 주의할 점은 /upload/vidoes로 하면 컴퓨터상의 root로 설정이 되기때문에 프로젝트상의 폴더로 꼭 지장해주자. 그리고 몽고db에서 업로드한 파일을 지워주는데 터미널에서 mongo를치고 mongodb에 접속 후 use를 이용해 생성한 we-tube db에 접속하자 use we-tube>> mongodb 명령어는 mongo로 접속후 help를 치면 자세히 나온다 접속했으면 데이터들을 삭제 ( db.videos.remove({}) ) 그리고 exit 그리고 업로드를하면 .. 역시 파일이 재생되지 않는다. 아직 한가지 빼..

저번에 db를 홈컨트롤러에 연결했다. 근데 upload를 해야 db에 쌓든 불러오든 할 수 있으니 upload controller도 손보자 저번에도 포스팅 했듯이 파일 자체를 데이터베이스에 저장하지 않는다. 파일의 url을 텍스트로 넣는 일을 한다. 먼저 우선 유저가 videoController에서 upload할때 무슨 일이 일어나는지 알아보자. 우선 시험 삼아 파일 하나를 업로드 하고 콘솔을 찍어보면 file name, title, descritption이 찍힌다 하지만 파일 네임을 원하는게 아닌 파일의 주소가 필요하다. 자 우선 upload.pug에 가서 이미지파일이나 다른 파일이 아닌 video파일만 허용해주자 accept 속성을 이용해서 video만 allow해줬다. 이제 파일을 업로드하면 url..

이번에는 댓글 모델을 만들어주자. 뭐 비디오 밑에 댓글다는 기능을 만들어야 하니~~~ 역시 models폴더에 Comment.js파일을 만들어 주고 코멘트 스키마를 정의해준다. 그리고 Comment라는 모델을 만들어주고 export한다 여기서 한가지 옵션이 더 들어가는데 comment가 어떤 비디오의 코멘트인지 연결될 지점이 없다는 것이다. 이부분은 video또는 comment모델스키마 정의부분에 정의해주면 되는데 두가지 옵션중 하나를 선택하면된다. 하나는 코멘트에 해당 비디오 id를 연결해서 보여줄 건지 아니면 비디오에 해당 코멘트들의 id를 배열로 넣어서 보여줄건지 이다. 둘중에 편한걸 쓰면 되는데 방법은 두가지중 하나를 쓰면 된다. mongoose.Schema.Types.ObjectId를 타입으로 주..

몽고 db의 장점은 document를 줄여준다는 것이다., document는 바로 JSONfile 몽고db에 개발자의 파일들이 어떤식으로 생겨야 할 지 알려줘야 한다. 일종의 validation이 필요하다. 예를 들어 파일들은 video라는 이름을 가지고 모든 비디오들은 string type이며 string의 이름은 title이다. 그리고 videos는 view를 가지게 되고view는 number type이다 라고~ 알려주는? 그런 것이다. 일단 models라는 폴더를 만들고 거기에 저장해주자. 그리고 Video.js파일을 하나 만들어주고 안에 model과 schema를 설정해주자 model은 document name이며 schema는 형태이다 여기서 잠깐... 잠시 몽고디비를 배웠을때 mongodb는 ..