[DB] MongoDB & Mongoose

Seyeon huh·2023년 2월 24일
0

Database

목록 보기
2/2

Mongoose

Mongoose는 MongoDB의 압도적으로 많이 쓰이는 ODM(Object Document Mapping)이다.
그럼 ODM이 뭘까?

ODM(Object Document Mapping)

Object는 JavaScript의 객체, Document는 MongoDB의 문서다. MongoDB의 document를 Javascript의 object와 1대1로 맵핑해서 바꿔주는 역할을 한다.

MongoDB 자체가 이미 JavaScript인데 왜 굳이 Mongoose를 쓰는 걸까?
Mongoose는 MongoDB에 없는 불편한 점들을 보완해주는 개념과 메소드들을 포함하고 있어 NoSQL DB를 프로그래밍하는데 최적화되어 있다.

Why Mongoose?

  1. Schema 스키마
    MongoDB에는 collection을 사용해 자유롭게 데이터를 넣을 수 있다는 장점이 있지만 오히려 이러한 부분이 잘못된 typed의 데이터를 넣는다던지 다른 document 에는 없는 필드를 생성하는 에러를 발생시킬 수 있다. 그래서 데이터를 넣기 전 Node서버 단에서 형식을 필터링 하는 역할을 해준다.

  2. Two-way referencing(양방향 참조)
    1:N, N:N 관계 모두 사용할 수 있는 Two-way referencing(양방향 참조)가 있다.
    각각의 document에서 서로 참조될 수 있다면 쿼리를 따로 던질 필요없이 바로 연결된 데이터를 가져올 수 있다.
    Populate - 하나의 document가 다른 document의 ObjectId를 쓰는 경우 이를 실제 객체로 치환하는 작업이다.

profile
Huh!rray!

0개의 댓글