더북(TheBook)

8.6 몽구스 사용하기

MySQL에 시퀄라이즈가 있다면 몽고디비에는 몽구스(Mongoose)가 있습니다.

▲ 그림 8-39 몽구스 로고

몽구스는 시퀄라이즈와 달리 ODM(Object Document Mapping)이라고 불립니다. 몽고디비는 릴레이션이 아니라 다큐먼트를 사용하므로 ORM이 아니라 ODM입니다.

몽고디비 자체가 이미 자바스크립트인데도 굳이 자바스크립트 객체와 매핑하는 이유가 궁금할 것입니다. 그 이유는 몽고디비에 없어서 불편한 기능들을 몽구스가 보완해주기 때문입니다.

먼저 스키마(schema)라는 것이 생겼습니다. 몽고디비는 테이블이 없어서 자유롭게 데이터를 넣을 수 있지만, 때로는 자유로움이 불편함을 초래합니다. 실수로 잘못된 자료형의 데이터를 넣을 수도 있고, 다른 다큐먼트에는 없는 필드의 데이터를 넣을 수도 있습니다. 몽구스는 몽고디비에 데이터를 넣기 전에 노드 서버 단에서 데이터를 한 번 필터링하는 역할을 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.