【发布时间】:2017-06-20 22:37:25
【问题描述】:
我对 Nodejs / Mongo(使用 Mongoose)非常陌生。我正在使用 bcrypt 模块从 HTML 表单中散列密码。在我的 db.create 函数中,我无法将变量 storehash 存储在 mongodb 中。
我没有收到任何错误,但它在数据库中只是空白。我已经检查了代码的每一行,它似乎正在工作。我不明白为什么我不能将变量存储为“密码:storehash”,而我可以存储诸如“密码:'test'”之类的东西
我确定我在某个地方犯了一些菜鸟错误。如有任何帮助,我将不胜感激!
var db = require('../models/users.js');
var bcrypt = require('bcryptjs');
module.exports.createuser = function(req,res){
var pass = req.body.password;
var storehash;
//passsord hashing
bcrypt.genSalt(10, function(err,salt){
if (err){
return console.log('error in hashing the password');
}
bcrypt.hash(pass, salt, function(err,hash){
if (err){
return console.log('error in hashing #2');
} else {
console.log('hash of the password is ' + hash);
console.log(pass);
storehash = hash;
console.log(storehash);
}
});
});
db.create({
email: req.body.email,
username: req.body.username,
password: storehash,
}, function(err, User){
if (err){
console.log('error in creating user with authentication');
} else {
console.log('user created with authentication');
console.log(User);
}
}); //db.create
};// createuser function
【问题讨论】:
-
代码示例!
-
使用提供的代码格式化程序,所以不要发布代码的图像
-
哈哈,我想我就是这么做的。谢谢!
-
欢迎来到 SO ...始终通过点击答案旁边的复选标记小部件来确认您的问题的正确答案...这会给您积分,但更重要的是它告诉其他人答案是有效的 - 小心
-
听起来不错!谢谢!
标签: node.js mongodb mongoose bcrypt