typescript - 无类型函数调用可能不接受类型参数。ts(2347)

标签 typescript express mongoose types mongoose-schema

我有一个带有 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 错误:在使用 Visual Studio 编辑器的 Express 和 mongoose 中,非类型化函数调用可能不接受用户架构上的类型参数。

最佳答案

我假设您在这一行遇到错误:

const UserSchema = new Schema<IUser>(

正如它所说的Untyped function calls may not accept type arguments .

  • type argument它指的是通用<...> .
  • function它指的是Schema ,这意味着它不知道什么 Schema是(输入为 any )。

这让我相信您的导入方式有问题 Schema ,或者输入 mongoose 的方式已安装。

我建议阅读mongoose - TypeScript Support .

如果您无法弄清楚出了什么问题,那么告诉我们将会有所帮助:

  • 您如何导入 Schema
  • 您使用的 mongoose 版本(可能还有 @types/mongoose)

关于typescript - 无类型函数调用可能不接受类型参数。ts(2347),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70261102/

相关文章:

javascript - 如何将数据库查询结果传递到Vue?

mongodb - 使用对象数组在 MongoDB 中进行聚合

angular - 具有 Angular 自定义逻辑的动态按钮(单击)

javascript - REST Api 返回验证码

javascript - 将新对象绑定(bind)到 Angular 表单而不是单个属性

node.js - MongoDB 的奇怪日期行为

node.js - 如何在 mongoDB 中将 $subtract 与文档数组一起使用

node.js - 如何在node.js中构建特定查询以从mongodb获取数据?

javascript - VS Code 在我的 Typescript 项目中找不到模块

javascript - 仅导入一个函数是否也会运行该文件中的其他函数?