解析,云代码之前删除

Posted

技术标签:

【中文标题】解析,云代码之前删除【英文标题】:Parse, cloud code beforeDelete 【发布时间】:2015-07-13 09:52:57 【问题描述】:

在我删除我的用户之前,我想删除另一个类中的一些对象。这在 Swift 中运行良好。

class func deleteAnonymousUserListSettings(completetion:(result:Bool, error:NSError!) -> Void)
    var queryListSettings = PFQuery(className: "ListSettings")
    queryListSettings.findObjectsInBackgroundWithBlock  (objects: [AnyObject]?, error: NSError?) -> Void in
        if let objs = objects as? [PFObject] where error == nil 
            PFObject.deleteAllInBackground(objs, block:  (success, error) -> Void in
                if success
                    completetion(result: success, error: error)
                
            )
        
    

现在我想把它转移到 cloudCode。它大约 10 次中的 1 次有效,但我不知道为什么或何时有效,有时甚至无效。

Parse.Cloud.beforeDelete(Parse.User, function(request, response) 
  var query = new Parse.Query('ListSettings');
  query.find(
  success: function(results) 

      for (var i = 0; i < results.length; i+=1) 
        results[i].destroy();
      
      response.success(results);
    ,
    error: function() results
      response.error("error");
    
  );
);

请帮忙。

【问题讨论】:

【参考方案1】:

您可以一次删除所有对象,而不是一个一个删除,如果成功则返回成功。您可以通过以下代码块执行此操作;

   query.find().then(function (results) 
   
      Parse.Object.destroyAll(results); 
      response.success("Success"); 
    , 
    function (error) 
    
      response.success("Error"); 
    )

希望这会有所帮助。问候。

【讨论】:

我之前尝试过类似的东西,现在尝试了你的,用户正在被 Swift 删除,而 beforeDelete 是“成功”。但是没有从 ListSettings 中删除。用户有一个指向 ListSettings 的指针,这是我需要考虑使用 Cloud Code 的吗?感谢您的帮助。【参考方案2】:

我们开始吧,这对我有用。

Parse.Cloud.beforeDelete(Parse.User, function(request, response) 
    var query = new Parse.Query('ListSettings');
    query.find().then(function(results) 

      return Parse.Object.destroyAll(results);
    ).then(function() 
      response.success();

    , function(error) 
      response.error("Error removing ListSettings.");

    );
);

【讨论】:

以上是关于解析,云代码之前删除的主要内容,如果未能解决你的问题,请参考以下文章

解析云代码并触发性能 - 使用

解析云不会删除超过1000条记录

解析云代码 request.object.get(key) 总是返回 undefined

解析服务器云代码 - 检查用户名

在 AWS 上解析仪表板并添加云代码

解析云代码如何与解析服务器一起工作?