01
DB 설계
참조 분리와 검증으로 맞춘 출석 도메인 무결성
사용자·수업·출석 기록이 서로 참조하면서도 조회 규칙이 달라, 스키마와 애플리케이션 제약으로 무결성을 맞추는 데 초점을 두었습니다.
- 수업 문서에 출석 기록을 임베딩하는 대신 별도의 출석 문서로 학생·수업을 참조해, 학생 이력 조회 시 전체 수업 문서 순회를 피하고 양측 필터링·인덱스 활용이 가능하도록 설계
- MongoDB ObjectId를 참조키로 사용하기 위해 HTTP 요청 시 ValidationPipe 검사로 계층 간 타입 불일치 완화