Model은 Schema를 감싸주는 역할을 하고
Scheme는 타입과 형태를 만들어 주는 역할을 한다.
예를 들면 회원가입을 할 때 필요한 정보들의 형태들,
email의 타입은 문자열, 최대길이는 15자
password의 타입은 문자열, 최소길이는 5자,
username의 타입은 문자열, 최대길이는 15자 같은.
Scheme의 코드를 한 번 보자.
const mongoose = require("mongoose");
const userSchema = mongoose.Schema({
name: {
type: String,
maxLength: 50,
},
email: {
type: String,
trim: true, //메일주소의 띄어쓰기를 없애준다
unique: 1,
},
password: {
type: String,
minLength: 5,
},
lastName: {
type: String,
maxLength: 50,
},
role: {
type: Number,
default: 0,
},
image: String,
token: {
type: String,
},
tokenExp: {
type: Number,
},
});
const User = mongoose.model("User", userSchema);
module.exports = { User };
Models폴더를 만들고 폴더 내에 User.js파일을 생성해서 위의 코드를 작성했다.
코드를 보면 크게 어렵지는 않은 내용이다.
mongoose 모듈을 불러오고 schema를 만들어서
필요한 항목들의 타입을 작성한다.
그리고 User를 사용할 수 있도록 export 해준다.