Mongoose 연동은 문서 구조를 정하는 스키마, 모듈 등록, 모델 주입, 서비스 쿼리가 같은 컬렉션 계약을 바라볼 때 안정적입니다.
MongoDB는 유연하지만, Mongoose 스키마를 통해 필수 필드와 기본값을 명시하면 서비스 계층의 예측 가능성이 올라갑니다.
@Prop()으로 필드, 필수 여부, 기본값, 유니크 제약을
선언합니다.
클래스 정의를 Mongoose가 읽을 수 있는 스키마 인스턴스로 변환합니다.
현재 도메인 모듈이 사용할 모델 이름과 스키마를 DI 컨테이너에 연결합니다.
서비스에서 Model<UserDocument>를 받아 생성, 조회,
삭제 쿼리를 실행합니다.
MongoDB 컬렉션에는 BSON 문서가 저장되고, 애플리케이션은 모델로 접근합니다.
DTO 검증
스키마는 저장 계약, DTO와 파이프는 요청
입력 계약으로 분리합니다.
인덱스 관리
자주 조회하는 필드와 유니크 필드는
운영 전 인덱스 상태를 확인합니다.
연결 문자열
Docker 로컬과 Atlas 운영 환경은 인증
DB와 비밀값 관리가 다릅니다.