解析:删除用户及其相关记录

时间:2015-02-06 12:48:02

标签: javascript objective-c parse-platform

我有实体的Parse表。 用户 - 默认类 Commets - 带有指向_User实体的指针的类。

我需要从实体User中删除用户及其所有注释,位于Comments entity:

现在我有JS云代码:

Parse.Cloud.define("deleteUser", function(request, response) {
                   var User = Parse.Object.extend("User");
                   var query = new Parse.Query(User);
                   var userID = request.params.userID;
                   query.get(userID,{
                             success: function(User) {
                             var message = 'success';

                             User.destroy({
                                          useMasterKey: true ,
                                            success:function() {
                                            response.success(message);
                                            return;
                                            },
                                            error:function(error) {
                                            response.error('Could not delete object '+ User.id);
                                            return;
                                            }
                                            });
                             },
                             error: function(object, error) {
                             var message = 'User could not found';
                             response.error(message);
                             }
                             });
                   });

仅删除用户。 我如何结合使用来删除其他实体的记录?

感谢您提前

2 个答案:

答案 0 :(得分:4)

正如eth3lbert在注释中指出的那样,你应该使用一个在删除User对象后调用的afterDelete钩子。您可以启动任何其他删除操作。

但是,有一些问题,在挂钟时间3秒后,before *和after *方法会被杀死,这可能会导致不需要的结果,具体取决于您需要删除的数据量。

最适合您的解决方案是设置后台作业(它们可以运行最多15分钟),安排它运行,每天说一次,并在该作业中进行任何清理工作。

您可以为其创建一个简单的表,其中包含已删除用户的objectIds,每当调用afterDelete方法时,您将已删除的用户ID添加到该表中,然后您的后台作业在运行时查询该表并删除与其关联的内容。

答案 1 :(得分:0)

您可以如下所示轻松地从用户请求中删除用户。

Parse.Cloud.define('deleteUser', async (req) => {
  const user = req.user;
  return user.destroy({ useMasterKey: true});
})

并添加与User相关的其他删除逻辑。