2015-12-21 72 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。