mongoose

Mongoose 책임 분리

NestJS에서 MongoDB를 붙일 때는 데이터 모양과 비즈니스 규칙이 섞이지 않도록 경계를 세웁니다.

shape

Schema

필드 타입, 기본값, index, timestamps처럼 저장 구조를 정의합니다.

access

Model

컬렉션 접근과 쿼리 실행의 진입점으로 주입받아 사용합니다.

logic

Service

검증된 입력으로 조회, 생성, 수정의 업무 규칙을 묶습니다.

계약

DTO

외부 요청 모양과 내부 저장 모델이 직접 묶이지 않도록 완충합니다.