[MongoDB] Mongoose 썼던 이유

jiseong·2021년 12월 7일
0

T I Learned

목록 보기
149/291
post-custom-banner

schema-less NoSQL document 데이터베이스인 MongoDB 특성상 하나의 collection안에 여러 형태를 가진 document가 들어갈 수 있게 되는데 이러면 복잡한 데이터 조작시에 불편해지게 된다.

Mongoose

Mongoose는 MongoDB의 ODM 라이브러리 중 하나로 스키마 개념을 도입하여 정형화된 데이터를 보장해줄 수 있게 해준다.

또 다른 장점

  • populate의 사용

  • 쿼리 추상화 및 정의 편의성

  import mongoose from 'mongoose';
  const { Schema } = mongoose;

  const blogSchema = new Schema({
    title:  String, // String is shorthand for {type: String}
    author: String,
    body:   String,
    comments: [{ body: String, date: Date }],
    date: { type: Date, default: Date.now },
    hidden: Boolean,
    meta: {
      votes: Number,
      favs:  Number
    }
  });

ODM (Object Document Mapping)

객체(Object)와 데이터 베이스의 데이터(Document)를 자동으로 매핑해주는 것

MongoDB는 실제 DB에 저장될 때 바이너리 형식의 BSON타입으로 저장된다고 한다. (속도와 공간 측면에서 JSON보다 유리해서)


Reference

post-custom-banner

0개의 댓글