试图写入用户类解析,主键不起作用

Trying to write to User class parse, masterkey is not working

本文关键字:不起作用 用户      更新时间:2023-09-26

我想在不作为用户登录的情况下更新User类中的字段。从网上和其他回复来看,人们说我应该使用"万能钥匙"。这里是我的云代码,我在主密钥中添加。代码被执行,但是当我转到数据浏览器时,totalScore和预测值仍然是相同的,没有更新为新值。

Parse.initialize("key", "key");
Parse.Cloud.define("userUpdate", function(request, response) {
Parse.Cloud.useMasterKey();
  var publicReadACL = new Parse.ACL();
  publicReadACL.setPublicWriteAccess(true);
  request.object.setACL(publicReadACL);
  var User = Parse.Object.extend("User");
  var query = new Parse.Query(User);
  query.equalTo("username", request.params.username);
  query.find({
   success: function(user) {
            user.set("totalScore", request.params.totalS);
            user.set("totalPredictions", request.params.totalG);
            user.save()
    },
    error: function() {
      response.error("f");
    }
  });
});

希望你现在已经弄清楚了,但是如果你还没有…我首先会说check,以确保您将"totalScore"answers"totalPredictions"作为数字传递。如果你把它们作为字符串传递,而Parse需要一个Number,它不会更新。一般来说,我认为按如下方式查询用户类是最佳实践:

    var query = new Parse.Query(Parse.User);
    query.get(user.objectId, {
      success: function(userAgain) {
        userAgain.set("totalScore", totalScore);
        userAgain.save(null, {
          error: function(userAgain, error) {
            // This will error, since the Parse.User is not authenticated
          }
        });
      }
    });

当然你还需要包含主密钥之类的东西…