vai*_*eep 2 mongoose nestjs nestjs-mongoose
我有一个 Nestjs 和 MongoDB 应用程序。
auth.module.ts-
@Module({
imports: [
MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
],
controllers: [AuthController],
providers: [AuthService],
})
export class AuthModule {}
Run Code Online (Sandbox Code Playgroud)
auth.service.ts-
@Injectable()
export class AuthService {
// Inject User model into AuthService
constructor(@InjectModel(User.name) private userModel: Model<UserDocument>) {}
getUser(username: string) {
const user = this.userModel.find({ name: username });
return user;
}
}
Run Code Online (Sandbox Code Playgroud)
@nestjs/mongoose我使用和创建了一个 UserSchema mongoose。
根据文档,当我导入MongooseModule模块中使用的架构时,该架构只能在该特定模块中使用。
如果我想访问我的模块和服务中的多个模型怎么办?有办法吗?
如何将多个模型注入到服务中?
小智 11
这是解决方案:-
auth.module.ts
@Module({
imports: [
MongooseModule.forFeature([
{ name: 'User', schema: UserSchema },
{ name: 'Comment', schema: CommentSchema }
]),
],
controllers: [AuthController],
providers: [AuthService],
})
export class AuthModule {}
Run Code Online (Sandbox Code Playgroud)
auth.service.ts
export class AuthService {
constructor(
@InjectModel('User') private readonly userModel: Model<IUser>,
@InjectModel('Comment') private readonly CommentModel: Model<IComment>
) {}
}
Run Code Online (Sandbox Code Playgroud)