-
728x90
Mongoose ODM(Object Data Modeling)이란?
mongoose는 MongoDB ODM 중 가장 유명한 라이브러리.
MongoDB의 Collection에 집중하여 관리하도록 도와주며 관련 기능들을 쉽게 사용할 수 있도록 도와준다.
Mongoose ODM을 사용하는 이유?
연결관리
MongoDB의 기본 Node.js 드라이버는 연결 상태를 관리하기 어렵지만, Mongoose를 사용하면 간단하게 데이터베이스 연결상태를 관리해 준다.
스키마 관리
스키마를 정의하지 않는 건 NoSQL의 장점이었지만, 데이터 형식을 미리 정의해야 코드 작성과 프로젝트 관리에 유용하기 때문에
Code-Level에서 스키마를 정의하고 관리할 수 있게 해 준다.
Populate
MongoDB는 Join을 제공하지 않아 유사한 기능을 하는 aggregate라는 복잡한 쿼리를 사용해야 하지만, populate를 사용하여 간단하게 구현 가능하다.
Mongoose ODM 사용 방법
1. 스키마 정의
Collection에 저장될 Document의 스키마를 관리할 수 있도록 스키마를 작성할 수 있다.
다양한 형식을 미리 지정하여 생성, 수정 작업 시 데이터 형식을 체크해 주는 기능을 제공한다.
// Schema 모듈 불러오기 const { Schema } = require("mongoose"); const PostSchema = new Schema({ title: String, content: String, }); module.exports = PostSchema; // 정의한 PostSchema 내보내기
객체 안에 있는 속성 명이 필드명!
2. 모델 만들기
위처럼 작성된 스키마를 바탕으로 몽구스에서 사용할 수 있는 모델로 만들어야 한다.
const 모델이름 = mongoose.model("모델 이름", 스키마 이름)
const mongoose = require("mongoose"); const PostSchema = require("./board"); exports.Post = mongoose.model("Post", PostSchema); // 스키마를 모델로 변환하여 내보내기
3. 데이터베이스 연결
connect 함수를 이용하면 간단하게 데이터베이스에 연결할 수 있다.
몽구스는 자동으로 연결을 관리해 주어 모델 사용 시 연결 상태를 확인하여 사용이 가능할 때 작업을 실행한다.
const mongoose = require("mongoose"); const { Post } = require("./models"); mongoose.connect("url")
mongoose의 connect() 함수 안에 연결할 mongoDB url 넣기
Reference
- 엘리스
'MongoDB' 카테고리의 다른 글
[MongoDB] 비교쿼리 연산자 (eq, ne, gt, lt, gte, lte) (0) 2023.05.29 [mongoDB] mongoose 사용하기 (2) (0) 2023.05.24 [MongoDB] MongoDB란? (0) 2023.04.07 댓글