DATABASE

[mongodb]node.js에서 mongodb 사용 with mongoose

하이바네 2023. 1. 27. 16:48
반응형

mongodb를 직접 연결하여 사용도 가능하나 mongoose와 같은 라이브러리를 이용하여 사용하는 것을 추천한다.

 

이와 관련된 여러 개념들에 대해서 살펴보자.

 

mongodb는 bson을 사용한다. bson이란?

 - binary json 이라는 뜻인데 말 그대로 일반적인 josn이 아닌 binary 형태라는 것이다.

 - josn이 가지는 단점을 보완하기 위해서 나왔다.(단점1 : 텍스트 기반으로 인한 구문 분석이 느림 / 단점2 : 공간효율성)

 

mongoose와 같은 것을 ODM이라고 부른다. ODM이란?

 - Object Document Mapping로 객체 형태로 db와 맵핑시킨다는 것이다(스키마의 형태가 된다)
 - 원래 mongodb는 스키마가 없으나 ODM을 사용하여 mysql에서와 같이 스키마를 다시 사용하게 된다.

 

moongoose의 또 다른 장점은?

 - 기존 RDB에서 존재하는 스키마의 개념을 부활시켰다. 그런데 이번에는 또 다른 join이라는 개념을 부활시켜준다.popluate()를 사용하면 되는데 주의할점은 db에서의 join과는 다르게 받아온 데이터를 사용해서 서버에서 재조합을 해주는 형태이므로 너무 남용을 하게되면 성능에 이슈가 발생 할 수 있어 주의를 요한다.

728x90