无法在 sailsjs 中使用 User.update() 更改用户密码,获取 returns [延迟]

Can't change the password of a user with User.update() in sailsjs, fetch returns [Deferred]

我正在使用 postgresql(Elephant SQL),我在这个数据库中创建和查找用户时没有遇到问题。这是我的方法。它非常简单明了,其中大部分对问题来说都不重要。我所缺少的是更改用户密码或任何其他内容的能力。它会找到正确的用户,几乎所有需要更改条目的地方都可以按预期工作。

updatePassword: async function(req,res){
    if(req.body.password){
      console.log("PUT BODY" + req.body.password);
    var newPass = req.body.password;
    var userId = req.session.userId;
    var foundUser = await User.findOne({id:userId},function(err,user){
      if(err){
        return res.status(500).json({err:'database error'});
      }
      if(user){
        var hashedPass = bcrypt.hashSync(newPass, bcrypt.genSaltSync(8), null);
        console.log("Found user");
        console.log(userId);
        console.log(hashedPass);




        var updateUser = User.update(user).set({password:hashedPass}).fetch();




        console.log(updateUser);
        if(updateUser){
          return res.status(200).json({status:'success'});
        }
        else{
          return res.status(500).json({err:'database error'});

        }
      }
      if(!user){
        return res.status(500).json({err:'database error'});
      }
    });
  }
  else{
    return res.status(401).json({err:'empty body'});
  }
  },

我已经调试了很长时间了,但我根本想不通。找到的用户是正确的,我可以得到他的当前属性,但我无法更改他们的密码。

任何人都可以提供一些见解吗?也许添加一些东西:这是一个 PUT 请求,只包含:

password:iaj34x

我也可以解析请求好了。我所缺少的只是正确执行的更新命令。

的价值

updateUser

[Deferred]

而且我不知道如何获得这方面的更多信息。

以此为例(来自文档):

    await User.update({name:'Pen'})
.set({name:'Finn'});

我的语法正确。

函数旁边缺少等待。 "Works" 现在,即使我在重新登录时遇到问题,它也会更改数据库中的密码。

        var updateUser = await User.update(user).set({password:hashedPass}).fetch();