我有一个用户模式与typescript,下面是我的接口
interface IUser{
name: string;
email: string;
password: string;
isAdmin: boolean;
}
下面是用户模式
const UserSchema = new Schema<IUser>(
{
name: {
type: String,
required: true,
},
email: {
type: String,
required: true,
unique: true,
validate: [validator.isEmail, "Please provide a valid email"],
},
password: {
type: String,
required: true,
minlength: 8,
},
isAdmin: {
type: Boolean,
required: true,
default: false,
},
},
{
timestamps: true,
}
);
const UserModel = model("User", UserSchema);
module.exports = UserModel;
我得到了typescript错误:在express和mongoose with editor visual studio中,非类型化函数调用可能不接受用户架构上的类型参数。
2条答案
按热度按时间nfeuvbwi1#
我假设你在这一行得到了错误:
就像
Untyped function calls may not accept type arguments
一样。type argument
是通用的<...>
。function
是Schema
,这意味着它不知道Schema
是什么(类型为any
)。这让我相信,要么是你导入
Schema
的方式有问题,要么是mongoose
的类型安装方式有问题。我建议阅读mongoose - TypeScript Support。
如果你不知道哪里出了问题,那么如果你告诉我们会有帮助:
Schema
@types/mongoose
)iugsix8n2#
我也有同样的问题,在阅读了Stanislas的解决方案后,它解决了我的问题
我把导入更新到了这个