猫鼬:保存不是一个功能

mongoose: save is not a function

给定一个用户模型:

import { model, Schema } from 'mongoose'

export interface User {
  email: string
}

const userSchema = new Schema<User>(
  {
    email: {
      type: String,
      required: true,
    },
  },
)

export const UserModel = model<User>('User', userSchema)

我正在尝试将其保存为:

// inside an async function
const newUser: HydratedDocument<User> = new UserModel({
  email: 'aaa@aaa.com',
})

console.log(newUser)

await newUser.save()

这导致 newUser.save is not a function。我错过了什么?另外,这里是 `console.log(newUser)

的输出

您还需要定义一个模型,将您的架构定义更改为:

首先从模式创建模型:

 var UserModel = mongoose.model('User', User);

然后从用户模型中创建对象

 var user = new UserModel(req.body)

然后打电话

 user.save(function(){});

检查文件 http://mongoosejs.com/docs/api.html#model_Model-save

我的愚蠢错误:我把所有的事情都放在前面。解决方案就像将相关的数据库调用移动到端点一样简单。