2022 AI SW 온라인 교육/SW 코딩 훈련트랙

[SW 코딩] Express.js와 MongoDB - 04. Mongoose 활용하기

parkes811 2022. 12. 12. 21:07
01 Express.js + Mongoose ODM

 

  • Express.js에서 Mongoose ODM 사용하기

- Express.js는 프로젝트 구조를 자유롭게 구성할 수 있기 때문에 어느 부분에 Mongoose ODM을 위치시키면 좋을지 적절한 위치를 결정하는 것이 중요하다.

- 일반적으로 models 디렉터리에 Schmea와 Model을 같이 위치 시킨다.

- app 객체는 어플리케이션 시작을 의미하는 부분이므로 해당 부분 (app 객체)에 데이터베이스 연결을 명시하는 mongoose.connect를 위치하는 것이 좋다.

 

  • Mongoose ODM 위치 정하기 예시

 

  • Mongoose ODM 커넥션 이벤트

- Express.js 어플리케이션은 종료되지 않고 동작하기 때문에 계속해서 데이터베이스가 정상적으로 동작하는지를 파악하기 위해 동작 중에 발생하는 데이터베이스 연결 관련 이벤트에 대한 처리를 하는 것이 좋다.

 

02 Sequelize ORM

 

  • Sequelize ORM이란?

- Object-Relational Mapping

- MySQL, PostrageSQL 등의 RDMBS를 이용하는 간단한 방법

- ODM이 단순히 모델에 집중하여 관리하는 것에 반해,

- ORM테이블 관계쿼리 등의 기능을 더욱 단순화하는 용도로 주로 사용된다.

 

  • 데이터베이스 생성

- dialect : 부분에 어떤 RDBMS와 연결할 것 인지를 작성해주면 된다.

 

  • 스키마 작성

- DDL : Data Definition Language, 데이터 정의어 

 

  • 스키마 작성 - 관계 정의

 

  • 쿼리 작성 

 

  • Synchronization, 데이터베이스와의 동기화

 

  • Sequelize ORM 정리

- Sequelize ORM을 사용하면 데이터베이스에 직접 DDL을 사용하지 않고 JavaScript 코드로 테이블 및 관계를 관리할 수 있다.

- RDB의 어려운 점 중 하나인 Join 연산을 간단하게 사용할 수 있다.