본문 바로가기
Front-end/Node.js

#3. MongoDB Model & Schema 만들기

by 예닌잉 2020. 11. 17.
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