簡體   English   中英

解析雲代碼:查詢后刪除所有對象

[英]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()例程

在您的“我在這做什么......”下面的內聯更新評論:

筆記:

  1. 你不需要調用save()方法,所以我把它拿出來了。

  2. 當然,這僅僅是個人偏好的問題,但你可能想要選擇一個比“用戶”更有意義的參數名稱,因為你真的不是在查詢用戶,而是帖子(這恰好發生在與用戶有關)。


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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM