使用 mongoose 时遇到的导入导出问题

发布时间 2024-01-02 22:08:27作者: 波波波维奇~

使用 mongoose 时,导入导出的书写需要配套

如这里定义了一个模型:

// 引入 mongoose
const mongoose = require('../db/index')

//定义 sechema
const userSchema = mongoose.Schema(
    {
        username: {
            type: String,
            required: true,
            unique: true,
        },
        password: {
            type: String,
            required: true,
        },
        age: {
            type: Number,
            default: 0,
        },
        city: {
            type: String,
            default: "",
        },
        gender: {
            type: Number,
            default: 0, //默认保密
        }
    },
    {
        timestamps: true,
        versionKey: false,
    }
)

//定义模型
const userModel = mongoose.model('user',userSchema);

//输出模型
module.exports = userModel;

 

  导出我们写的是 module.exports = userModel;

  那我们导入的时候就应该写成 const user = require('../model/userModel')

 

  我们还可以这样写 module.exports = { userModel };

  那我们导入的时候就应该写成 const { user } = require('../model/userModel')

 

  不管用什么方式写,导入导出的书写方式需要匹配,不然在调用 数据库方法时就会报错:TypeError: User.create is not a function