mongoose
Mongoose 책임 분리
NestJS에서 MongoDB를 붙일 때는 데이터 모양과 비즈니스 규칙이 섞이지 않도록 경계를 세웁니다.
shape
Schema
필드 타입, 기본값, index, timestamps처럼 저장 구조를 정의합니다.
access
Model
컬렉션 접근과 쿼리 실행의 진입점으로 주입받아 사용합니다.
logic
Service
검증된 입력으로 조회, 생성, 수정의 업무 규칙을 묶습니다.
계약
DTO
외부 요청 모양과 내부 저장 모델이 직접 묶이지 않도록 완충합니다.