2015-12-07 92 views
0

我不知道如何刪除雲代碼中的Parse.Role。指南說,它們是Parse.Object的子類,並具有所有相同的方法。但我得到以下錯誤,爲什麼我嘗試刪除一個:解析雲代碼 - 爲什麼我不能刪除Parse.Role?

對象的翻譯:有沒有方法「破壞」

Parse.Cloud.afterDelete("Project", function(request) { 

    Parse.Cloud.useMasterKey(); 

    var query = new Parse.Query(Parse.Role); 
    query.equalTo("name", "hasSound_" + request.object.id); 

    query.find().then(function(role) { 

     if(typeof role === 'undefined') { 
      console.log("role is undefined, cannot delete"); 
     } 
     else { 
      role.destroy(); 
     } 

    }).then(function(success) { 
     console.log("role deleted: hasSound_" + request.object.id); 
    }, function(error) { 
     console.log("error deleting role"); 
    }); 

}); 

我有一些的console.log語句驗證「名」是正確的,所以查詢應該找到正確的對象。我不知道還有什麼可以嘗試的。

此外,我的角色是以項目的ID爲名稱命名的。所以每個項目都有一個叫做「hasSound_ [項目ID]」的角色。當我刪除一個項目時,我不再需要與之相關的角色。我的意思是我可以將未使用的項目留在數據庫中,但這看起來很浪費。

回答

0

find()滿足數組的匹配對象。由於您的角色是唯一的,因此您可以安全地將find()更改爲first()。或者您可以繼續使用find(),但將結果視爲數組。

+0

謝謝,這樣的菜鳥錯誤。我在其他地方使用first(),將在此處使用它。 –