반응형
Schema 스키마
데이터베이스를 매핑하는데 사용되는 정보(문서)의 형식을 정의한다. 몽구스의 모든 것은 스키마로 시작한다.
Model
스키마 정의에서 컴파일된 생성자. 모델은 기본 MongoDB 데이터베이스에서 문서를 만들고 읽는다.
const 스키마이름 = new mongoose.Schema({ title: "String", views: "Number"});
const 모델이름 = mongoose.model("모델이름", 스키마이름);
schema 작성하기 전 model이란 폴더를 만들고 그 안에 작성할 파일을 만들었다. 비디오 데이터베이스에 대한 모델을 만들 것이므로 이름은 Video.js다.
1. video schema 작성하고 model 만들기
데이터의 형식을 정의하는 과정이다. 스키마를 정의하고 model을 만든다. 그리고 모델을 export(내보내기)
[Video.js]
import mongoose from "mongoose";
/* 데이터의 형식(schema) 정의 */
const videoSchema = new mongoose.Schema({
title: String,
description: String,
createdAt: Date,
hashtags: [{ type: String }],
meta: {
views: Number,
rating: Number,
},
});
/* 그 다음 model을 만든다. model은 ("모델의 이름", 정의한 schema)로 구성한다. */
const Video = mongoose.model("Video", videoSchema);
/* 만든 모델을 default로 내보내기 */
export default Video
실제 데이터는 들어가지 않고 데이터의 형식만 정의한다.
String은 { type: String } 으로 쓸 수도 있다. 같은 의미 다른 표기임.
2. server.js에서 Video model을 import 해주기.
import "./models/Video"; /* server.js에 databse 연결하기 */
db를 mongoose와 연결시켜 video model을 인식시킨다. 관련 링크는 바로 아래.
2022.09.19 - [IT/개발] - mongoose 몽구스 설치하고 DB연결하기. (유튜브 클론 6.8)
2022.09.16 - [IT/개발] - [macOS] MongoDB 설치하기 (유튜브 클론 6.7)
반응형
'IT > javascript' 카테고리의 다른 글
[자바스크립트] moveTo() lineTo()란? 사각형, 삼각형, 집 그리기 / 바닐라JS 그림 앱 만들기 / #1.3 #1.4 (0) | 2022.11.03 |
---|---|
[javascript] 바닐라JS로 그림 앱 만들기 #1.2 Paths / canvas에서 사각형 그리는 순서 (0) | 2022.11.02 |
mongoose 몽구스 설치하고 DB연결하기. (유튜브 클론 6.8) (0) | 2022.09.19 |
[macOS] MongoDB 설치하기 (유튜브 클론 6.7) (0) | 2022.09.16 |
MongoDB설치 에러 exception: connect failed 해결하고 설치 성공 확인하기 (0) | 2022.09.16 |