我有实体解析表。用户 - 默认的类Commets - 类指针_user实体。
我需要与它的所有评论,坐落在评论实体一起删除实体用户的用户:
现在我有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);
}
});
});
这只是删除用户。我怎么可以结合用户还去除其他实体记录?
感谢提前
作为eth3lbert在评论中指出,你应该使用一个afterDelete钩用户对象已被删除之后被调用。你可以踢掉你想要的任何其他的删除操作。
但是,有一点疑难杂症,在之前*和*后get方法的挂钟时间为3秒,这可能会导致取决于您需要删除的数据量不想要的结果后处死。
对你来说最好的解决办法是安装一个后台作业(他们可以长达15分钟运行一次),安排其运行,让我们每天说一次,做任何清理工作的那份工作。
你可以创建一个简单的表,包含已删除的用户,只要您的afterDelete
方法被调用的的ObjectID,你添加删除用户ID到该表中,你后台作业,然后查询上运行该表,并删除了相关内容用它。
您可以从如下用户请求轻易删除用户。
Parse.Cloud.define('deleteUser', async (req) => {
const user = req.user;
return user.destroy({ useMasterKey: true});
})
并加入到User
相关的附加删除逻辑。