Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法使用NodeJS中的Mongoose和Typescript扩展基类_Node.js_Mongodb_Typescript_Mongoose - Fatal编程技术网

Node.js 无法使用NodeJS中的Mongoose和Typescript扩展基类

Node.js 无法使用NodeJS中的Mongoose和Typescript扩展基类,node.js,mongodb,typescript,mongoose,Node.js,Mongodb,Typescript,Mongoose,我试图使用Mongoose4.5.4和NodeJS中的Typescript(显然),同时利用存储库模式 存储库: export class RepositoryBase<T extends mongoose.Document> implements IRead<T>, IWrite<T> { private _model: mongoose.Model<mongoose.Document>; constructor(schemaM

我试图使用Mongoose4.5.4和NodeJS中的Typescript(显然),同时利用存储库模式

存储库:

export class RepositoryBase<T extends mongoose.Document> implements IRead<T>, IWrite<T> {
    private _model: mongoose.Model<mongoose.Document>;

    constructor(schemaModel: mongoose.Model<mongoose.Document>) {
        this._model = schemaModel;
    }

    create(item: T): mongoose.Promise<mongoose.model<T>> {
        return this._model.create(item);
    }

    //......
    //Additional CRUD methods excluded for brevity
}
导出类RepositoryBase实现IRead、IWrite{
private_模型:mongoose.model;
构造函数(schemaModel:mongoose.Model){
这个._model=schemaModel;
}
创建(项目:T):猫鼬。承诺{
返回此。\u model.create(项目);
}
//......
//为简洁起见,排除了其他CRUD方法
}
用户存储库:

export class UserRepository extends RepositoryBase<IUserModel> {
    constructor() {
        super(UserSchema);
    }
}
导出类UserRepository扩展了RepositoryBase{
构造函数(){
超级(用户模式);
}
}
UserRepository
调用
super()
时出现以下类型错误

[ts]
类型为“(名称:字符串)=>IModelConstructor&EventEmitter”的参数不能分配给类型为“IModelConstructor&EventEmitter”的参数。
类型“(名称:字符串)=>IModelConstructor&EventEmitter”不可分配给类型“IModelConstructor”。
类型“(名称:string)=>IModelConstructor&EventEmitter”中缺少属性“findById”。
导入用户模式

有人知道为什么吗?我创建的模型(
UserSchema
)非常简单:
let model=mongooseConnection.model(“用户”,UserSchema.schema)


我非常希望能朝着正确的方向推进。

做一个简单的导出const model=mongooseConnection.model(“Users”,UserSchema.schema)
足以解决此键入问题。

请参阅此处的两个解决方案:(免责声明:其中一个是我的)