试图写入User类解析,masterkey不起作用

时间:2014-03-25 12:03:08

标签: javascript parse-platform

我想更新User类中的字段而不以用户身份登录。从在线阅读和其他回复中,人们说我应该使用' masterkey'这样做。这是我在主密钥中添加的云代码。代码已执行,但是当我转到数据浏览器时,totalScore和predictions值仍然相同,并且未更新为新值。

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");
    }
  });
});

任何帮助都会受到大力赞赏。

1 个答案:

答案 0 :(得分:1)

希望你现在已经明白了这一点,但是如果你还没有...我会首先说检查以确保你通过" totalScore"和#34; totalPredictions"作为数字。如果你把它们作为字符串传递并且Parse期望一个数字,它就不会更新。通常,我认为查询用户类的最佳做法如下:

    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
          }
        });
      }
    });

当然,您仍然需要包含主密钥等...