【问题标题】:How do you delete roles in Parse.com using Cloud Code如何使用 Cloud Code 删除 Parse.com 中的角色
【发布时间】:2014-09-21 07:55:55
【问题描述】:

如何使用 Cloud Code 删除 Parse.com 中的角色?我检查了:https://parse.com/docs/js/symbols/Parse.Role.html,它没有记录任何销毁方法。

我正在为每个成员组创建一个角色,并且我想在组被销毁时摆脱该角色。这样做的正确方法是什么?

【问题讨论】:

  • 看起来 destroy() 有效,但我会保留这个问题一段时间,看看是否有更好/规定的销毁角色的方法。

标签: parse-platform cloud acl role


【解决方案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});
            });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        • 2016-04-06
        • 2015-05-18
        • 2019-02-12
        相关资源
        最近更新 更多