mongodb
CHAPTER 23 / 34
읽기 약 2분
FUNCTION
pre/post Hooks
핵심 개념
미들웨어 훅으로 저장/삭제 전후에 자동으로 실행될 로직을 정의합니다.
코드 분석
HOOKS// 저장 전 비밀번호 해싱userSchema.pre('save', async function() { if (this.isModified('password')) { this.password = await bcrypt.hash(this.password, 10) }})// 삭제 후 로그userSchema.post('deleteOne', function() { console.log('사용자 삭제됨')})AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 MongoDB 'pre/post Hooks' 쿼리에서 인덱싱 누락·풀스캔·N+1 위험을 분석하고 최적화 쿼리로 개선해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'pre/post Hooks'를 활용한 실전 데이터 모델을 임베딩 vs 레퍼런스 비교와 함께 복사 가능한 스키마 코드로 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 MongoDB 'pre/post Hooks' 쿼리 패턴 전체를 분석하고 인덱스 최적화·집계 파이프라인 개선·샤딩 전략을 우선순위로 정리해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
MongoDB 'pre/post Hooks' vs PostgreSQL JSONB의 동일 기능 구현을 비용·성능·운영 난이도로 솔직히 비교해줘.
⭐ 이것만 기억하세요
pre/post Hooks는 이 3가지만 확실히 잡으세요
1.비밀번호 해싱을 컨트롤러마다 반복하면 한 곳이라도 누락되면 평문이 저장됩니다
2.pre('save') 훅에서 자동으로 해싱하면 모델을 통해 저장하는 모든 곳에서 일관되게 적용됩니다
3.다음 챕터에서 DB에 저장하지 않지만 조회 시 계산되는 가상 필드를 배웁니다
공유하기
진행도 23 / 34