728x90
MongoDB Model ?
어떤 웹사이트를 가서 회원가입을 하게 되면, 해당 정보들이 user data base에 들어가게 된다.
이때 유저 데이터를 보관하기 위해 유저 모델, 유저 스키마를 만들게 된다.
여기서 모델은 스키마를 감싸주는 역할을 한다.
Schema ?
스키마는 데이터 베이스 자료의 구조, 표현 방법, 관계를 정의한 것을 의미한다.
만약 상품에 관련된 글을 작성하게 된다면, 글을 작성한 사람이 누구인지, 포스트의 이름이 무엇인지, 포스트 이름의 타입은 무엇인지 ( ex, String ), 포스트의 maxlength 는 몇인지 지정해주는 것이다.
스키마 타입에는 String, Number, Date, Buffer, Boolean, Mixed, Objectid, Array가 있으며
직접 사용자 정의 스키마 타입을 선언하는 것도 가능하다.
User의 모델과 스키마를 직접 만들어보자 ! 👩🏻💻
model이라는 프로젝트를 만들고 프로젝트 안에 User.js파일을 생성해준다.
이후 다음과 같은 코드를 작성하여 User의 모델과 스키마를 직접 작성하여 만든다.
const mongoose = require('mongooseo');
const userSchema = mongoose.Schema({
name: {
type: String,
maxLength: 50
},
email: {
type: String,
trim: true, // space를 없애주는 역할
},
lastname: {
type: String,
maxLength: 50
},
role: {
type: Number,
default: 0
},
image: String,
token: {
type: String
},
//token의 유효기간
tokenExp: {
type: Number
}
});
const User = mongoose.model('User', userSchema);
module.exports = { User };
반응형
'Front-end > Node.js' 카테고리의 다른 글
#6. 환경 변수 process.env.NODE_ENV 설정하기 (0) | 2020.11.25 |
---|---|
#5. Nodemon 설치 (0) | 2020.11.24 |
#4. BodyParser & Postman & 회원 가입 기능 (0) | 2020.11.18 |
#2. MongoDB 연결하기 (0) | 2020.11.16 |
#1. Node.js 와 Express.js (0) | 2020.11.16 |