在我的node / express / mongo设置中创建用户时,我一直在标题中收到错误。
以下是抛出的代码:
app.post("/api/user", function(req, res) {
if (req.session.user)
{
res.send(409, "You are connected, you can't create an account");
return false;
}
var email = req.param('email');
var password = req.param('password');
if (!email || !password || email.length < 3 || password.length < 3 || !email.match(config.emailRegex))
{
res.send(400, "Please provide a correct email and a correct password");
return false;
}
database.user.create(email, password, function (user, err) {
if (err)
{
console.log("[error] user %s already exist", email);
res.send(409, "This user already exist");
return false;
}
console.log("[info ] Creating new user %s", email);
req.session.user = user.emitted.complete[0];
res.send("User created");
});
});
我认为这个问题出现在req.session.user = user.emitted.complete[0];
,但由于我对此有所了解,我对尝试的事情没有任何好运。
想法?
答案 0 :(得分:0)
添加自动防故障代码:
if(user && user.emitted && user.emitted.complete){
req.session.user = user.emitted.complete[0];
}
答案 1 :(得分:0)
似乎是回调参数中的一个问题。 回调的第一个参数是为错误对象保留的
database.user.create(email, password, function (err, user) {
//rest of your code will go here..!!!
})