Node.js와 MongoDB를 위한 ODM(Object Data Mapping) 라이브러리이다.
ODM을 활용하면 프로그래밍 언어 Object와 MongoDB의 데이터를 Mapping하여 호환성을 만들어내고, 간편한 CRUD를 가능하게 한다.
필요에 따라 확장 및 변경이 가능한 자체 검증과 타입변환이 가능하며, express와 함께 사용하면 MVC 패턴 구현이 용이하다는 장점이 있다.
ODM(Object Data Mapping)은 말 그대로 객체와 문서를 1대1 매칭한다는 뜻으로, Object는 자바스크립트의 객체이고, Document는 MongoDB의 문서이다. 즉, Document를 DB에서 조회할 때 자바스크립트 객체로 바꿔주는 역할을 한다고 생각하면 된다.
스키마와 모델을 만드는 것을 통하여 data를 불러온 후에 그 데이터를 객체화시키는 것에 빠르고, 그 객체를 수정함으로써 데이터를 수정할 수 있게 해준다. 또한 분명하게 모델링된 Document들이 모여있는 Collection을 관리하는 것도 수월해진다는 장점이 있다.