Mongoose) 스키마 , 모델 만들기

알파로그·2023년 12월 14일
0

Node.js

목록 보기
24/25

✏️ 스키마와 모델

  • 객체 모델이 매우 유연한 자바스크립트는 DB 를 파편화하고 최적화하기 어렵다는 단점이 있다.
    • Mongoose 는 스키마와 모델을 도입해 균형을 찾고있다.

📍 스키마와 모델 만들기

  • models 라는 별도의 디렉토리를 생성해 관리하는 것이 좋다.
    • mongoose 를 import 해 스키마와 모델을 정의해 모델을 export 한다.
const mongoose = require('mongoose')

// 스키마 생성
const vacationSchema = mongoose.Schema({
    name: String,
    slug: String,
    category: String,
    sku: String,
    description: String,
    location: {
        search: String,
        coordinates: {
            lat: Number,
            lng: Number,
        },
    },
    priceInCents: Number,
    tags: [String],
    inSeason: Boolean,
    available: Boolean,
    requiresWaiver: Boolean,
    maximumGuests: Number,
    notes: String,
    packagesSold: Number,
})

// 모델 생성
const Vacation = mongoose.model('Vacation', vacationSchema)

// export
module.exports = Vacation

📍 모델 객체 Import

  • 위 모델을 직접 사용한다면 DB 모듈을 추상화한 의미가 없기 때문에 모델 객체는 DB 모듈에서 import 해 method 를 생성하고,
    필요한 곳에서 method 를 가져와 사용하는 것이 좋다.
profile
잘못된 내용 PR 환영

0개의 댓글