MongoDB(2)

손병진·2022년 10월 23일
0

back-end

목록 보기
3/3

구성

기본 구조

기본적으로 3단 구조이다.

  • 도큐먼트(document): RDBMS 에서 ROW 에 해당하는 데이터 단위
  • 컬렉션(collection): RDBMS 에서 Table 에 해당하며, 여러 도큐먼트가 모여 이루는 단위
  • 데이터베이스: 가장 상위 집합

BSON

  • json 구조와 유사하다
// 이런 식의 자료구조로 key 값이 table 에서의 칼럼과 같다. 
{
  name: "admin",
  age: 21,
  active: true,
}

mongoose

ODM(Object Data Modeling)

  • mongoDB의 Collection을 javascript 모델로써 만들어놓고, 이 모델을 통해 mongoDB 데이터에 대해 좀더 쉽게 접근, 수정이 가능하도록 도와주는 패키지

사용하는 이유

  • 연결 관리
    node.js 에서는 기본적으로 mongoDB 와 연결할 수 있는 드라이브를 제공하지만, 이것 만으로는 대이터베이스와의 연결상태를 관리하기 어렵다.
    mongoose 에서는 코드와 DB의 연결상태를 관리하는 기능을 제공한다.

  • 스키마 관리
    미리 데이터 형식을 정하여 관리해야 프로젝트를 진행하는 데에 유용하다.
    mongoose는 코드 level 에서 스키마를 정의하고 관리할 수 있다.

  • Populate
    mongoDB는 Join을 제공하지 않는다(그 대신 aggregate 라는 복잡한 쿼리가 존재).
    하지만, mongoose의 populate 를 사용하여 간단하게 구현할 수 있다.


profile
https://castie.tistory.com

0개의 댓글