是否有“任何模型”的猫鼬类型?

时间:2020-10-21 05:42:20

标签: node.js mongodb typescript mongoose

在Mongoose中,有一个Model类型带有2个参数:Model<T, QueryHelper>。参数之一是必需的。例如Model<User>。如何指定一个值应为 any 猫鼬模型?示例:

const helper = (model: Model) => { ... }

helper(User)

1 个答案:

答案 0 :(得分:0)

答案实际上非常简单。 “任何模型”的类型是

Model<any>

如果您想更具体一点,可以说它必须是扩展Document的类型的模型

Model<Document>

如果您希望helper返回某种类型,而返回类型取决于Model类型,那就是使用泛型的时候。例如,如果我们要调用model.new并返回文档,它将看起来像这样:

const helper = <T extends Document>(model: Model<T>): T => { ... }

但是,如果您的助手不在乎它使用的是哪种类型的模型,那么Model<any>就可以了。

相关问题