如何使用解析服务器更新用户类数据

问题描述

我正在使用 nodejs 服务器端,当用户验证他的手机号码时,我需要更新用户类的属性

我的代码

/****************** Initialization ***********************/
Parse.initialize("appid","JscriptKey","masterKey");
Parse.serverURL = env.HOST_SERVER + env.PARSE_MOUNT+""

/******************* update user *****************/
router.post('/updateUser',async (request,res) => {
    let post_data = request.body;
    let phone = post_data.phoneNb;
    const currentUser = await Parse.User.logIn("myusername","mypw");
    if(currentUser){
      var usersQuery = new Parse.Query(Parse.User);
      usersQuery.equalTo("phone",phone);
      var user = await usersQuery.first();
      console.log("Useresults:");
      console.log(user);
      user.set("isSmsverified",true)
      user.save({useMasterKey : true}).then((gamescore) => {
        res.send('changes');
      },(error) => {
        res.send(error);
      });
    }else{
      res.send('error')
    }
})

但是当我尝试这段代码时,我得到了:

{ "message": "无法修改用户 XfcbZ9i9XK。",“代码”:206 }

我知道问题出在 ACL 访问上,但我不知道如何解决

解决方法

好的,我找到了一个解决方案,我需要将 {useMasterKey : true} 添加到 save() 函数中,例如:

user.save(null,{useMasterKey : true})