mongodb
CHAPTER 24 / 34
읽기 약 2분
FUNCTION
가상 필드 (Virtual)
핵심 개념
가상 필드는 DB에 저장되지 않지만 계산된 값을 제공합니다. getter/setter로 정의합니다.
코드 분석
VIRTUALconst userSchema = new Schema({ firstName: String, lastName: String})// 가상 필드 정의userSchema.virtual('fullName') .get(function() { return this.firstName + ' ' + this.lastName }) .set(function(v) { const parts = v.split(' ') this.firstName = parts[0] this.lastName = parts[1] })AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 MongoDB '가상 필드 (Virtual)' 쿼리에서 인덱싱 누락·풀스캔·N+1 위험을 분석하고 최적화 쿼리로 개선해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'가상 필드 (Virtual)'를 활용한 실전 데이터 모델을 임베딩 vs 레퍼런스 비교와 함께 복사 가능한 스키마 코드로 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 MongoDB '가상 필드 (Virtual)' 쿼리 패턴 전체를 분석하고 인덱스 최적화·집계 파이프라인 개선·샤딩 전략을 우선순위로 정리해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
MongoDB '가상 필드 (Virtual)' vs PostgreSQL JSONB의 동일 기능 구현을 비용·성능·운영 난이도로 솔직히 비교해줘.
⭐ 이것만 기억하세요
가상 필드 (Virtual)는 이 3가지만 확실히 잡으세요
1.firstName과 lastName을 매번 합쳐서 fullName을 만들면 로직이 여러 곳에 중복됩니다
2.virtual('fullName')은 DB에 저장되지 않지만 조회 시 자동으로 계산되는 파생 필드를 정의합니다
3.다음 챕터에서 문서 간 관계를 표현하는 Populate를 배웁니다
공유하기
진행도 24 / 34