Ошибка вызова 'paginate' после импорта схемы внутри плагина
У меня проблема с использованием paginate в моем контроллере после добавления плагина в мою схему, мой код написан на TypeScript 2.1, я установил @types/mongoose-paginate в devdependencies.
Серьезность [ts]: сообщение об ошибке: "Свойство paginate" не существует для типа "Модель".
Мой контроллер:
export function getAllArtists(req, res) {
Artist.paginate({}, { page: 3, limit: 10 }, function(err, result) {
// ...
// ...
});
Моя схема:
'use strict'
import {Document, model, Model, Schema} from 'mongoose';
import * as mongoosePaginate from 'mongoose-paginate';
interface IArtist extends Document {
name: String;
description: String;
image: String;
}
const ArtistSchema: Schema = new Schema({
name: String,
description: String,
image: String
});
ArtistSchema.plugin(mongoosePaginate);
export const ArtistModel: Model<IArtist> = model<IArtist>('Artist', ArtistSchema);
Спасибо,
1 ответ
Решение включает в себя интерфейс с расширением PaginateModel для моей схемы.
'use strict'
import { PaginateModel, Document, Schema, model } from 'mongoose';
import * as mongoosePaginate from 'mongoose-paginate';
interface IArtist extends Document {
name: String;
description: String;
image: String;
}
const ArtistSchema: Schema = new Schema({
name: String,
description: String,
image: String
});
ArtistSchema.plugin(mongoosePaginate);
interface ArtistModel<T extends Document> extends PaginateModel<T> {}
export const ArtistModel: ArtistModel<IArtist> = model<IArtist>('Artist', ArtistSchema);