2015-12-21 102 views
0

destroyAll多個對象需要我試圖像這樣的對象本身似乎..刪除通過的ObjectId

var arrayToDelete = []; 

    for (objectId in objectIdArray) { 
    var rawProduct = Parse.Object.extend("Product"); 
    var productToDelete = new rawProduct(); 
    productToDelete.id = objectId; 
    arrayToDelete.push(productToDelete); 
    } 

    Parse.Object.destroyAll(arrayToDelete, { 
    success: function() { 
     response.success("succeeded") 
    }, 
    error: function(error) { 
     response.error("failed") 
    } 
    }); 

但它返回失敗,與object not found for delete

一個記錄的錯誤我手動檢查了objectId s:它們都存在,它們是預期的。

我想避免抓取對象,因爲我已經有了對它們的引用,並希望一次刪除它們。

任何想法?

回答

0

作爲初始調試步驟 - 嘗試在每個對象上調用destroyAll以查看其中哪些引起問題記錄了實際的錯誤。

for (objectId in objectIdArray) { 
    var rawProduct = Parse.Object.extend("Product"); 
    var productToDelete = new rawProduct(); 
    productToDelete.id = objectId; 
     Parse.Object.destroyAll([productToDelete], { 
    success: function() { 
     response.success("succeeded"); 
    }, 
    error: function(error) { 
     console.log('destroyAll cb: ', error); 
     response.error("failed: " + error); 
    } 
    }); 
} 
+0

我已經記錄了代碼,我只是修剪它以避免在問題中張貼太多。他們都失敗了。 – ray

+0

從一個快速谷歌 - 它看起來像他們的API不希望你構建原始對象和設置ID。它看起來像他們想要的實際對象的引用。從他們的例子: var query = new Parse.Query(「Comment」); query.equalTo(「post」,request.object.id); query.find()。then(function(comments){ Parse.Object.destroyAll(comments); – Tim

0

發佈的代碼沒有問題。它可以用Parse.Object.createWithoutData()更簡潔,但它應該像你一樣工作。該錯誤表明至少有一個id錯誤,它不是任何Product對象的objectId。