Mongodb 用户不是构造函数
im收到错误:Mongodb 用户不是构造函数,mongodb,mongoose,Mongodb,Mongoose,im收到错误:用户在尝试向我的数据库添加新文档时不是构造函数。在使用mongoose.model之前,我没有使用Schema方法,它工作得很好,但我必须添加验证器,它需要这种语法,从那时起,我就无法让它工作 代码: var UserSchema = mongoose.Schema({ username: { type: String, required: true, unique: true }, email: { type: String, index: true, uniqu
用户在尝试向我的数据库添加新文档时不是构造函数。在使用mongoose.model
之前,我没有使用Schema
方法,它工作得很好,但我必须添加验证器,它需要这种语法,从那时起,我就无法让它工作
代码:
var UserSchema = mongoose.Schema({
username: { type: String, required: true, unique: true },
email: { type: String, index: true, unique: true, required: true },
password: { type: String, required: true }
});
UserSchema.plugin(uniqueValidator);
let User = mongoose.model("user", UserSchema);
module.exports = User;
router.post('/', (req, res) => {
var user = new User({
username: req.body.username,
email: req.body.email,
password: req.body.password
});
// save the user
user.save(function (err) {
if (err) {
console.log('Error in Saving user: ' + err);
throw err;
}
console.log('User Registration succesful');
// return done(null, userData);
res.status(200).send({user: user})
});
});
mongoose.Schema
是一个构造函数,因此需要用“new”来调用它:
好的,我解决了我的问题,而不是
module.exports=用户代码>
我必须做:
module.exports={User}
var user=newuserschema({…})
为什么不使用这个!!!它不是这样工作的不,它们是分开的问题是我像这样导入它,var{User}=require('../db/models/UserSchema')代码>基本上是作为对象导出的,但不是作为对象导出的<代码>模块.exports=用户是的,我可以从其中一个删除{},或者将它添加到另一个。很抱歉浪费你的时间,我讨厌语法问题。英雄联盟
var UserSchema = new mongoose.Schema({
username: { type: String, required: true, unique: true },
email: { type: String, index: true, unique: true, required: true },
password: { type: String, required: true }
});