Parse.com Cloud Code:无法保存数据浏览器对象

时间:2014-05-16 14:40:35

标签: javascript parse-platform

我正在使用以下代码从用户好友列表中删除currentUser

result.set("DateUserList", datelistArr); 

这有效,但是:

result.save();

不起作用 - 检查数据浏览器时我没有看到更改。

Parse.Cloud.define("hello", function(request, response) {

response.success(“Hello world!”); });

Parse.Cloud.define(“DeleteUserFromDateList”,function(request,response){

var userToDelete = String(request.params.currentUser);
var user = String(request.params.dateid);

var query = new Parse.Query("User");
query.equalTo("fbId", user);

query.first(
           {
               success: function (result)
               {
                   var datelistArr = result.get("DateUserList");
                       for(j = 0 ; j < datelistArr.length;j++)
                       {
                           if (datelistArr[j] == userToDelete)
                           {
                               console.log("found a match");
                               datelistArr.splice(j);
                               console.log("deleted");
                               break;
                           }
                       }

                       console.log(datelistArr);
                       result.set("DateUserList", datelistArr);

                       result.save().then(function (savedObj)
                       {
                           response.success(userToDelete + "is deleted from " + user + " friend list");

                       },
                       function (saveError)
                       {

                           response.error("Unable to create this object");

                       });

               },
               error: function () {
                   response.error("Error occured on User deletion");
               }
           });

});

2 个答案:

答案 0 :(得分:1)

保存是异步的,在调用response.success()之前,您不会等待它完成。使用此promise语法在保存结果时调用成功。

result.save().then(function(obj) {
  response.success(....

}, function(err) {
  ...

});

答案 1 :(得分:1)

我需要做的就是在云方法的顶部添加以下代码:

Parse.Cloud.useMasterKey();

参考: https://parse.com/docs/cloud_code_guide

出现问题是因为我需要在更改其他用户数据时使用useMasterKey()方法。