일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Mongoose
- Flutter
- pug
- clonecoding
- TypeScript
- heroku
- backend
- API
- CLONE
- Session
- node.js
- ES6
- Component
- react
- CSS
- GRID
- MongoDB
- 자바스크립트
- DART
- ECMAScript
- NextJs
- form
- HTML
- nodejs
- frontend
- JavaScript
- graphQL
- express
- javscript
- 리액트
- Today
- Total
Enjoy Programming
MongoDB - Video Model 본문
몽고 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는 nosql 데이터베이스이며 schema-less라고 배웠다..
그런데 schema가 있다?
찾아보니 이는 RDMS처럼 고정 스키마가 존재하지 않는다는 뜻으로 같은 collection 내에 있더라도 documnet level의 다른
스키마를 가질 수 있다는 의미이다.
관계형데이터베이스는 각 테이블마다 동일한 스키마를 가져야 하며 스키마를 변경하고자 한다면 모든 데이터를 변경해야 한다.
하지만 몽고디비는 하나의 collection내의 document가 각각 다른 스키마를 가질 수 있다.
이런 특성을 동적 스키마라고 한다. 이것은 다시 말해 collection내의 document가 각자의 고유한 filed를 가질 수 있다는 것을 의미한다.
MongoDB Basics - Install | PoiemaWeb
MongoDB의 기본 개념과 설치 RDMS와 MongoDB의 비교
poiemaweb.com
자 다시 본론으로 돌아가 model은 실제 data이고 schema는 shape이다! 찬찬히 이해해보자
이제 비디오 스키마를 지정해준다

각각의 형태를 지정해 줬다. 이번 과정에서는 video를 데이터베이스에 저장하지 않는다
video의 url만 저장하겠다. 데이터베이스가 무거워 지니까~ 그리고 required를 설정한다.
만약 파일 업로드시 조건에 충족하지 않는다면 보여질 error메세지를 지정했다.
나머진 보면 알 수 있고 업로드 날짜도 받겠다.
mongoose의 schema정의에 관해서는 몽구스 사이트에서 참조하자
mongoosejs.com/docs/guide.html#definition
Mongoose v5.12.7: Schemas
Schemas If you haven't yet done so, please take a minute to read the quickstart to get an idea of how Mongoose works. If you are migrating from 4.x to 5.x please take a moment to read the migration guide. Everything in Mongoose starts with a Schema. Each s
mongoosejs.com
이제 정의된 schema를 이용해서 Video라는 이름의 model을 만든다
const model = mongoose.model("Video", VideoSchema);
그리고 default로 export 해준다.
그리고 init에 가서 임포트 해준다.

'JavaScript > Node.JS' 카테고리의 다른 글
Express - Home Controller Finished(await, async, try catch) && 비동기 & Promise (0) | 2021.05.01 |
---|---|
MongoDB - comment Model (0) | 2021.04.30 |
MongoDB - configuring Dot Env (0) | 2021.04.30 |
MongoDB - configuring Dot Env (0) | 2021.04.30 |
MongoDB 2 (0) | 2021.04.28 |