const userSchema = new mongoose.Schema({
name: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
avatar: {
type: String
},
});
module.exports= user = mongoose.Schema('user',userSchema);
首先,您应该在创建模型并导出模型时使用
mongoose.model()
功能
即 module.exports= mongoose.model('user',userSchema);
其次,在导出模型之前不必将其分配给变量,
您可以使用您提供的名称作为模型函数中的第一个参数直接访问它。
“类型”模块的新方式看起来像这样
import mongoose, { Schema } from "mongoose";
const UserSchema = new Schema({
username: {
type: String,
required: [true, "Username not provided "],
unique: [true, "UserName with same name exists in the database"],
},
password: {
type: String,
required: true
},
avatar: {
type: String
},
});
export default mongoose.model("User", UserSchema);
这个问题几年前就得到了回答,但如果现在有人在看,主要问题是我们不应该使用 mongoose.Schema() 而不是我们应该使用 mongoose.model()。