我有一个带有自定义接口的架构模型:
interface IPost extends Document {
created: Date;
mensaje: string;
img: string[];
coords: string;
usuario: string;
test: string;
}
我在导出模型时使用此接口:
export const Post = model<IPost>('Post', postSchema);
我想使用mongoose-paginate-v2插件,我初始化:
postSchema.plugin(mongoosePaginate);
如果我导出没有IPost接口的Post Model,我可以在我的路由中使用.paginate()
,但是不能使用IPost接口。我试着在我的接口中添加方法,试图从mongoose-paginate-v2类型扩展,但是我没有得到它。
我如何将mongoose-paginate-v2中的.paginate()
方法添加到我的接口中?谢谢。
3条答案
按热度按时间rfbsl7qr1#
你可以自己扩展
更新
slsn1g292#
我也是非常新的 typescript ,因此将无法解释整个代码,但这里的解决方案。
/* postModel.ts文件系统 */
将上述文件导入为:
您现在可以使用分页功能。
编辑:不要忘记添加mongoose-paginate-v2。我个人喜欢在与数据库建立连接时添加它。这样我就不必在创建的每个模式中都导入它。
以下是您可以执行相同操作的方法:
zbdgwd5y3#
截至2022年4月19日,插件GitHub网站上有一个示例:https://github.com/aravindnc/mongoose-paginate-v2#typescript
如果有人想更深入地了解使用TypeScript时如何扩展mongoose,我也建议您阅读以下内容:https://mongoosejs.com/docs/typescript/statics-and-methods.html