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