프로젝트 1 - 몽고 DB 모델 & 스키마

BooKi·2022년 3월 13일
0
post-thumbnail

⭐프로젝트 1 - 몽고 DB 모델 & 스키마

📕모델 (Model)

모델은 스키마를 감싸주는 역할

📘스키마 (Schema)

예를들어 회원 가입을 한다고 하면 우리가 적는 정보는 이름, 전화번호, 주소 등이 있다

이런 것들을 어떤 타입으로 받고, 최대 길이는 몇인지 등 DB의 골격?을 정하는

것이라고 생각하면 편하다

📗만들기

우선 models라는 폴더를 프로젝트 폴더 내에 하나 만들자

그 폴더 내부에 User.js 라는 파일을 하나 만들고 아래 코드를 작성하자

const userSchema = mongoose.Schema({
    name: {
        type: String,
        maxlength: 50
    },
    email: {
        type: String,
        trim: true,
        unique: 1
    },
    password: {
        type: String,
        minlength: 5
    },
    role: {
        type: Number,
        default: 0
    },
    image: String,
    token: {
        type: String
    },
    tokenExp:{
        type: Number
    }
})

이메일에 trim은 예를 들어 누가 chl qnrl@naver.com 이렇게 빈공간을 작성하면

빈공간을 없애주는 기능을 한다

role은 관리자, 일반 사용자를 구분하기 위하여 넣었다

토큰 EXP는 토큰의 유효기간을 의미한다

모델로 감싸기

위에서 스키마를 모델로 감싼다고 했다

아래의 코드를 작성하자

const User = mongoose.model('User', userSchema)

module.exports = { User }

첫 번째 코드는 스키마를 모델로 감싸는 코드이다

두 번째 코드는 우리가 만든 모델은 User.js 파일 내부에 있기 때문에

다른 파일에서도 User 모델을 사용할 수 있게 export 해주는 것이다

profile
성장을 보여주는 기록

0개의 댓글

관련 채용 정보