sailsjs更新不解雇

时间:2015-03-29 01:39:10

标签: orm model sails.js

我有这个代码应该可行。我在其他地方有几乎完全相同的代码。但是,user.save不会触发,User.update也不会触发。我意识到这里有很多无关的代码,我已经提出了很多想法,试图弄清楚为什么保存和更新都没有工作(是的,我知道我只需要一个,我和#39已经单独尝试了两种,只是这样说明了。)

User.findOneByEmail(req.param('email'), function foundUser (err, user) {
                if (err) return next(err);
E.l(user);
                if (!user) {
                    var noAccountError = [{name: 'noAccount', message: 'The email ' + req.param('email') + ' was not found.'}]
                    req.session.flash = {
                        err: noAccountError
                    }
                    res.redirect('/user/forgot');
                    return;
                }

                var userObj = {
                    lostpasswordtoken: Helper.Guid()
                }
                user["lostpasswordtoken"] = userObj.lostpasswordtoken;

                user.save(function(err){
                    if (err) {
                        E.l(err);
                    } else {
                        E.l("save workd");
                    }
                });

                User.update(user.id, userObj, function userTokenUpdated (err) {
                    E.l(user['id']);
                    E.l(JSON.stringify(userObj));
                    if (err) {
                        return res.redirect('/user/forgot');
                    }
E.l("here6");

                }); 

                MailService.SendMail({ to: user['email'], subject: 'Password Reset', 
                    body: 'Click on http://' + req.headers.host + '/user/validateforgot?e=' + user['email'] + '&t=' + userObj['lostpasswordtoken']});

                    res.view();               
                E.l("here8");
            });
E.l("here9");

1 个答案:

答案 0 :(得分:1)

我不知道您使用的符号,我通常使用它:

User.update(user.id, userObj).exec(function(err, user)
{
    if(err)//error
    ....
});