我收到此错误:
"用户不是构造函数类型错误">
我无法找出代码中的问题。任何建议不胜感激!!
路由/用户.js
// Initialised user.js into users.js
// var User = require('../models/user');
if (errors) {
// code here is working
} else {
console.log('PASSED'); // logs "passed" msg successfully
var newUser = new User({
name: name,
email: email,
phone: phone,
password: password2
});
User.createUser(newUser, function (err, user) {
if (err) throw err;
console.log(user);
});
req.flash('success_msg', 'You had been succesfully registered! Try signin.');
res.redirect('/users/signin');
}
模型/用户.js
var mongoose = require('mongoose');
var bcrypt = require('bcrypt');
var UserScheme = mongoose.Schema({
name: {
type: String,
index: true
},
email: {
type: String
},
phone: {
type: String
},
password: {
type: String
}
});
var User = module.export = mongoose.model('User', UserScheme);
// encrypting password into hash
module.export.createUser = function(newUser, callback){
bcrypt.genSalt(saltRounds, function(err, salt) {
bcrypt.hash(newUser.password, salt, function(err, hash) {
newUser.password = hash;
newUser.save(callback);
});
});
};
如果需要更多代码,我可以更新帖子。
您需要将module.export
更改为module.exports
节点文档在这里 * 请注意,导出是指向 module.exports 的快捷方式。 module.exports 是需要模块时返回的默认对象。在您的示例中,您已经创建了一个名为 export 的模块新属性。这是一篇描述 exports 和 module.exports 关系的博客文章。
请考虑以下示例:
stack: cat ./49275169.js
console.log('export', module.export)
console.log('exports', module.exports)
stack: node ./49275169.js
export undefined
exports {}
stack:
这是一个猫鼬的例子:
stack: cat module.js
const mongoose = require('mongoose')
const Schema = mongoose.Schema
const schema = new Schema({ name: String })
const User = module.exports = mongoose.model('Users', schema)
module.exports.createUser = function (newUser, callback) {
console.log(new User({ name: 'Rohit' }))
}
stack: cat ./49275169.js
const mongoose = require('mongoose')
const User = require('./module')
mongoose.connect('mongodb://localhost/test')
const user = new User({
name: 'Branford'
})
user.save((err, doc) => {
if (err) { return console.error(err) }
mongoose.connection.close()
return console.log(doc)
})
User.createUser()
stack: node ./49275169.js
{ name: 'Rohit', _id: 5aa9138819d660182938b128 }
{ name: 'Branford', _id: 5aa9138819d660182938b127, __v: 0 }
stack: