我无法弄清楚如何删除云代码中的Parse.Role。该指南说它们是Parse.Object的子类,并且具有所有相同的方法。但是我得到以下错误,为什么我试图删除一个:
Object [object Object]没有方法'destroy'
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语句验证“name”是否正确,因此查询应该找到正确的对象。我不知道还有什么可以尝试的。
此外,我的角色以项目的ID命名。因此每个项目都有一个名为“hasSound_ [项目ID]”的角色。删除项目时,我不再需要与之关联的角色。我的意思是我可以将未使用的项目留在数据库中,但这似乎很浪费。
答案 0 :(得分:0)
find()
。由于您的角色是唯一的,因此您可以安全地将find()
更改为first()
。或者您可以继续使用find()
,但将结果视为数组。