^ 类型错误:架构配置无效:“U”不是路径“0”处的有效类型

问题描述 投票:0回答:3
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);
node.js express mongoose mongoose-schema
3个回答
3
投票

您使用的 mongoose.Schema() 完全错误。您应该使用

mongoose.Model('user', userSchema)
创建用户模型,请参阅 mongoose.Model()


0
投票

首先,您应该在创建模型并导出模型时使用

mongoose.model()
功能 即
module.exports= mongoose.model('user',userSchema);
其次,在导出模型之前不必将其分配给变量, 您可以使用您提供的名称作为模型函数中的第一个参数直接访问它。


0
投票

“类型”模块的新方式看起来像这样

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()。

© www.soinside.com 2019 - 2024. All rights reserved.