解析,云代码之前删除
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.");
);
);
【讨论】:
以上是关于解析,云代码之前删除的主要内容,如果未能解决你的问题,请参考以下文章