Parse platform 为什么保存事件在云代码中不起作用?

Parse platform 为什么保存事件在云代码中不起作用?,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,找到我的代码,下面的工作非常好。但我面临的唯一问题是“保存事件”对我不起作用。您也可以在图片中看到我的日志文件。在每种方法中,我都尝试了成功和错误函数,正如你们在图中看到的那个样,它们工作得很好。我试了很多次,但还是。。。这对我不起作用。 它总是显示错误消息 Code : Parse.Cloud.afterSave("HouserDetailed", function(request, response) { var obj = request.object.id; //con

找到我的代码,下面的工作非常好。但我面临的唯一问题是“保存事件”对我不起作用。您也可以在图片中看到我的日志文件。在每种方法中,我都尝试了成功和错误函数,正如你们在图中看到的那个样,它们工作得很好。我试了很多次,但还是。。。这对我不起作用。 它总是显示错误消息

Code :
Parse.Cloud.afterSave("HouserDetailed", function(request, response) 
{
    var obj = request.object.id;
    //console.log(obj);
// code !   
    var houserdetailed = new Parse.Object("HouserDetailed");
    var query = new Parse.Query("HouserDetailed");
    query.equalTo("objectId", obj);
    query.first({
  success: function(results) {
    //alert("updates objectId "  +request.object.id + " " + "input" + " "+ request.object.bet_title );
    var bet_title = results.get("bet_title");
    var match_id = results.get("match_id");
    var level_coin = results.get("level_coin");
    if(bet_title !== "false")
    {
    console.log("bet_title :- "+bet_title+", match_id:- "+match_id+", level_coin:- "+level_coin);
    // nested query
    var better = new Parse.Object("Better");
    var query1 = new Parse.Query("Better");
    query1.equalTo("match_id", match_id);
    query1.first({
        success: function(result){
          var bet_title_better =  result.get("bet_title");
          var user_id =  result.get("user_id");
          var bet_OnNoOfticket =  result.get("bet_OnNoOfticket");
          var bet_price =  result.get("bet_price");
          var money_got = bet_OnNoOfticket * bet_price;
          console.log("bet_title_better :-"+bet_title_better);
          if(bet_title !== bet_title_better)
          {
              console.log("Condition does not match!");
          }
          else
          {
              console.log("Condition match!" + "money got :- "+money_got);
                // checking for existing user in parse DB
                var wallet = new Parse.Object("Wallet");
                var query2 = new Parse.Query("Wallet");
                query2.equalTo("user_id", user_id);
                query2.first({
                success: function(result)
                {
                    console.log("User found");
                    var wallet_coins_number =  result.get("wallet_coins_number");
                    var objectId =  result.get("objectId");
                    total_amount = +wallet_coins_number + +money_got;
                    console.log("Total amount got :- " + total_amount );
                    // saving amount in wallet
                    var Wallet = Parse.Object.extend("Wallet");
                    var wallet = new Wallet();
                    wallet.set("user_id", user_id);
                    wallet.set("wallet_coins_number", total_amount);
                    wallet.save(null, {
                    success: function(wallet){
                        console.log("amount saved in wallet!");
                    },
                    error: function(wallet)
                    {
                        console.log("amount not saved in wallet!");
                    }

                    });

                },
                error: function(error)
                {
                    console.log("User not found");
                }
                });

          }

    },error: function(error)
    {

    }
    });
    }
    // nested query end


  },
  error: function(error) {
    console.log("Error: " + error.code + " " + error.message);
  }
});

// code !
});][1]][1]

我没有看到任何日志,可能它会告诉你出了什么问题。但您正试图用脏objectId保存现有的ParseObject,这是个坏主意。不允许更改现有对象的objectId。尝试从代码中删除wallet.set(“objectId”,objectId)


您也不应该使用result.get(“objectId”),而应该使用result.id。

是的,我已经删除了它。但仍然没有保存数据。请将错误更改为
错误:函数(钱包,错误){console.log(“钱包中未保存的金额!错误:+error.message);}
,并在此处写入它告诉您的信息错误:钥匙钱包的类型无效\u硬币\u号码,需要字符串,但得到号码eah,这意味着Parse wallet类中的wallet\u coins\u number是string,您正在尝试将其设置为数字。。因此,您可以将钱包硬币号码列类型更改为数字,也可以更改
wallet.set(“钱包硬币号码”,总金额)
钱包.set(“钱包硬币号码”,总金额.toString())