본문 바로가기

Youtube Clone Coding

DB Schema

몽고디비를 사용하면서, 스키마라는것이 필요하다. 이는 데이터가 어떠한 형식을 가질것이다 라고 미리 정의 해 두는것을 말한다. 코드는 다음과 같다.

import mongoose from "mongoose";

const videoSchema = new mongoose.Schema({
    title: String,
    description: String,
    createdAt: Date,
    hashtags: [{ type: String }],
    meta: {
        views: Number,
        rating: Number,
    },
});

const Video = mongoose.model("Video", videoSchema);
export default Video;

우리 프로젝트에서 사용하게 될 영상(데이터)의 형식을 정의해주고있다. 제목은 String, 설명부분도 String, 영상생성날짜는 Date 타입, 해시태그들은 String의 배열로 만들었다. 이렇게 우리의 데이터가 어떠한 형식을 가지고있는지 설명해준다음 사용할 수 있다.

 

이렇게 스키마를 만들어준 다음, model을 만들어야 한다. 모델은 모델의 이름과 우리의 데이터 형식인 스키마를 적어준다. 그 후 export해준다. 

 

server.js에서 임포트를 할때,

import "./db";
import "./models/Video";

이렇게 구성되는데, 이는 먼저 db를 연결하고, db가 성공적으로 연결되었을때, 해당 모델을 임포트 하게된다. 이런 과정으로 이제 db는 우리의 video model을 인식할 수 있다. 

'Youtube Clone Coding' 카테고리의 다른 글

Video 만들기  (0) 2022.11.09
DB 사용하기(callback, promise)  (0) 2022.11.07
Mongo에 연결하기  (0) 2022.11.04
MongoDB & Mongoose  (0) 2022.11.04
POST (백엔드로 보내기)  (0) 2022.11.03