我怎样才能在飞行中获得模型参考 nestjs mongoose

How can I get model reference on the fly nestjs mongoose

所以我的问题是我的模型由我们域的一种类型分隔,并且它有很多类型,其中每一个都有专门的集合。据我所知,我们可以像这样在服务构造函数中注入模型:

@InjectModel(ModelName.Job) private readonly jobModel: JobModel,

在构造函数中注入所有这些集合对我来说有点麻烦,而且它们同时没有用。所以我想知道我是否可以使用我们的域类型作为键在服务的方法中动态加载猫鼬模型,或多或少与模块引用相同,如下所示:

private getModelReference(reference: any) {
    return this.moduleReference.get(ModelName[reference]);
}

但是,任何其他动态加载模型的解决方法都值得赞赏。

技术上是可以做到的。使用上面的代码你可以做

private getModelReference(reference: any) {
  return this.moduleReference.get(getModelToken(ModelName[reference]));
}

假设 ModelName[reference] 指回猫鼬模型名称(即 Cat.name 或只是 'Cat'