[英]Parse Cloud Code: Delete All Objects After Query
腳本
我有一個允許用戶創建帳戶的應用程序,但也允許用戶刪除其帳戶。 刪除他們的帳戶后,我有一個雲代碼功能,將刪除用戶所做的所有“發布”。 我正在使用的雲代碼是......
//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);
});
});
題
一旦我對所有用戶的帖子進行了查詢,我該如何刪除它們? (參見: //What do I do HERE?
)
你可以用
Parse.Object.destroyAll(users); // As per your code – what you call users here are actually posts
請參閱: http : //parseplatform.org/Parse-SDK-JS/api/classes/Parse.Object.html#methods_destroyAll
另外,考慮在Parse.User上使用Parse.Cloud.afterDelete(如果你的意思是“刪除帳戶”)來進行清理,例如這些。
哦,只是為了完成,你在destroyAll()之后不需要save()例程
在您的“我在這做什么......”下面的內聯更新評論:
筆記:
你不需要調用save()方法,所以我把它拿出來了。
當然,這僅僅是個人偏好的問題,但你可能想要選擇一個比“用戶”更有意義的參數名稱,因為你真的不是在查詢用戶,而是帖子(這恰好發生在與用戶有關)。
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);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.