Javascript 解析云代码:查询后删除所有对象
场景 我有一个应用程序,允许用户创建帐户,但也允许用户的用户删除他们的帐户。在删除他们的帐户后,我有一个云代码功能,可以删除用户所发的所有“帖子”。我使用的云代码是Javascript 解析云代码:查询后删除所有对象,javascript,parse-platform,parse-framework,Javascript,Parse Platform,Parse Framework,场景 我有一个应用程序,允许用户创建帐户,但也允许用户的用户删除他们的帐户。在删除他们的帐户后,我有一个云代码功能,可以删除用户所发的所有“帖子”。我使用的云代码是 //Delete all User's posts Parse.Cloud.define("deletePosts", function(request, response) { var userID = request.params.userID; var query = new Parse.Query(Par
//Delete all User's posts
Parse.Cloud.define("deletePosts", function(request, response) {
var userID = request.params.userID;
var query = new Parse.Query(Parse.Post);
query.equalTo("postedByID", userID);
query.find().then(function (users) {
//What do I do HERE to delete the posts?
users.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
}, function (error) {
response.error(error);
});
});
问题
一旦我对用户的所有帖子进行了查询,我如何删除它们?(请参阅://我在这里做什么?
)您可以使用
Parse.Object.destroyAll(users); // As per your code – what you call users here are actually posts
见:
也可以考虑使用PARSE.CUROM.DEFALSE解析。用户(如果这是你所说的“删除帐户”)来进行清理,比如这些。
哦,为了完整起见,您不需要在destroyAll()之后执行save()例程。在您的“我在这里做什么…”注释下方的行内更新: 注:
这是正确的,但效率不高,因为它会消耗大量请求。Parse.Object.destroyAll(用户);这是一个更好的解决方案
Parse.Cloud.define("deletePosts", function(request, response) {
var userID = request.params.userID;
var query = new Parse.Query(Parse.Post);
query.equalTo("postedByID", userID);
query.find().then(function (users) {
//What do I do HERE to delete the posts?
users.forEach(function(user) {
user.destroy({
success: function() {
// SUCCESS CODE HERE, IF YOU WANT
},
error: function() {
// ERROR CODE HERE, IF YOU WANT
}
});
});
}, function (error) {
response.error(error);
});
});