model injection
Nest 모듈에서 모델이 주입되는 순서
Mongoose 모델을 서비스에서 쓰려면 먼저 DB 연결을 만들고, 모듈에 스키마를 등록한 뒤, InjectModel로 같은 이름의 모델 토큰을 받아야 한다.
순서: connect → schema register → model inject모델 이름과 스키마 등록이 어긋나면 주입이 깨진다.
Nest + Mongoose 등록 순서
1forRoot
MongoDB 연결 URI와 옵션을 설정한다.
2Schema
@Schema와 Prop으로 문서 구조를 정의한다.
3forFeature
현재 모듈에서 사용할 name/schema 쌍을 등록한다.
4InjectModel
서비스 생성자에 Model<UserDocument>를 주입한다.
5Service
create, find, update 같은 모델 API를 호출한다.
핵심 코드 경계
MongooseModule.forFeature([{ name: User.name, schema: UserSchema }])
constructor(@InjectModel(User.name) private users: Model<UserDocument>) {}