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

why save event is not working in cloud code?

在下面找到我的代码,它工作得很好。但我面临的唯一问题是保存事件不适用于 me.Also 你可以在图片中看到我的日志文件。在每种方法中,我都尝试了成功和错误功能,正如您在图片中看到的那样,它们工作正常。我尝试了很多此代码,但仍然......它对我不起作用。 它总是显示错误消息。

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。