我在代码中使用了以下代码段,但它给出了编译时错误,提示Nest无法解析xModel
(?)的依赖项。请确保在MongooseModule上下文中索引[0]处的参数可用。 :(
模块
@Module({
imports: [MongooseModule.forFeature([{ name: 'X', schema: XSchema }], 'MyMongooseConnection')],
controllers: [XController],
providers: [XService],
exports: [
XService,],
})
export class XModule { }
服务
@Injectable()
export class XService {
constructor(@InjectModel('X') private xModel: Model<IXFace>) {}
}
x.schema.ts
export const XSchema = new mongoose.Schema({
XName: { type: String },
});
请注意,如果我从forFeature参数中删除“ MyMongooseConnection”,它会正常工作。有关信息,我想在应用程序中创建多个连接,并希望将架构与特定连接联系起来。
答案 0 :(得分:0)
在您的@InjectModel()
中,您应该进行modelName, connectionName
,以使构造函数看起来像
constructor(@InjectModel('X', 'MyMongooseConnection') private readonly xModel: Model<IXFace>) {}