Mongoose TS2351:无法使用';新';使用其类型缺少调用或构造签名的表达式。猫鼬

Mongoose TS2351:无法使用';新';使用其类型缺少调用或构造签名的表达式。猫鼬,mongoose,typescript-typings,Mongoose,Typescript Typings,不确定我做错了什么,但我有以下课程/模块: import*作为“猫鼬”中的猫鼬; 从“lodash”导入*as uuu; 进口*作为“蓝鸟”的承诺; 从“../lib/database”导入{db}; 让猫鼬=猫鼬; 猫鼬。承诺=承诺; 导出类基模型{ 构造函数(schemaObj:{},modelName:string,statics?:{}){ 让Schema=newmongoose.Schema(schemaObj) Schema.statics.list=函数(){ 返回这个。find

不确定我做错了什么,但我有以下课程/模块:

import*作为“猫鼬”中的猫鼬;
从“lodash”导入*as uuu;
进口*作为“蓝鸟”的承诺;
从“../lib/database”导入{db};
让猫鼬=猫鼬;
猫鼬。承诺=承诺;
导出类基模型{
构造函数(schemaObj:{},modelName:string,statics?:{}){
让Schema=newmongoose.Schema(schemaObj)
Schema.statics.list=函数(){
返回这个。find()
}
Schema.statics.save=函数(dataObj){
返回此.save(dataObj)
}
if(静力学){
for(让我们输入statics){
Schema.statics[key]=statics[key];
}
}
返回mongoose.model(modelName,Schema);
}
}
让模式={
标题:字符串,
}
让Message=newbasemodel(模式“Message”);
让j=newmessage({title:'helloworld'}).save().then(函数(res){
控制台日志(res);

})
我不认为问题出在您的代码中,您使用的唯一新的
操作符是创建一个新的猫鼬方案,它看起来是正确的。问题可能出在猫鼬的打字上

您提到的错误通常在函数返回另一个函数而不是类实例(例如:)时显示

尝试将打字更新为最新版本,或尝试将其降级为不同的较低版本


(打字是一种神奇的方法,在我们的项目中,我们有时需要修复一个特定的版本,因为即使是更新的path版本也会破坏项目。)

导入mongoose时,请尝试删除
*as
。因此,它将成为

从“猫鼬”进口猫鼬;

旧版本和新版本没有帮助。在这种情况下,如何向其添加新的构造函数?已经查看了大量的资源,并对其进行了大量的修补,但似乎无法理解。的可能重复