如何使用 Cloud Code 删除 Parse.com 中的角色
Posted
技术标签:
【中文标题】如何使用 Cloud Code 删除 Parse.com 中的角色【英文标题】:How do you delete roles in Parse.com using Cloud Code 【发布时间】:2014-09-21 07:55:55 【问题描述】:?我检查了:https://parse.com/docs/js/symbols/Parse.Role.html,它没有记录任何销毁方法。
我正在为每个成员组创建一个角色,并且我想在组被销毁时摆脱该角色。这样做的正确方法是什么?
【问题讨论】:
看起来 destroy() 有效,但我会保留这个问题一段时间,看看是否有更好/规定的销毁角色的方法。 【参考方案1】:你见过吗:
role.getUsers().remove(user);
【讨论】:
【参考方案2】:这个对我有用:
const roles = await new Parse.Query(Parse.Role).find();
await Parse.Object.destroyAll(roles, useMasterKey: true;
【讨论】:
【参考方案3】:我玩了几个小时才让它通过侥幸工作(不,感谢缺乏和不正确的文档)......
这在架构上是不正确的,但我可以将它组合在一起的唯一方法是使用带有 await + promise 的异步函数......我有时不理解 Parse 的奇怪机制。这是一种爱恨交织的关系!
// Get user to delete object
let userToDeleteObject = await new Parse.Query(Parse.User)
.equalTo('objectId', userToDelete)
.find(useMasterKey: true);
// Remove user from group role
let roleDeleteQuery = new Parse.Query(Parse.Role);
roleDeleteQuery.contains("name", groupName);
roleDeleteQuery.first(useMasterKey: true)
.then(function(roleObject)
roleObject.relation("users").remove(userToDeleteObject);
roleObject.save(null, useMasterKey: true);
);
【讨论】:
以上是关于如何使用 Cloud Code 删除 Parse.com 中的角色的主要内容,如果未能解决你的问题,请参考以下文章
Parse Server Cloud Code:级联删除多个类中的对象
如何使用 Parse Cloud Code 更新对象的属性?
使用 Parse Code Cloud Javascript 函数更改 Parse 列的值