解析:使用云代码将用户添加到角色
Parse: Add user to role using cloud code
我第一次使用parse作为后端。在我的业务中,用户必须在注册页面的2个角色之间进行选择:"Role1"answers"Role2"。如果我理解文档,对"_Role"类的访问应该是只读的,所以当这个用户试图注册时,将用户添加到角色的最佳方法是通过云代码。
我的想法(不确定这是最佳实践)是首先为这个用户添加一列,称为"role",这样用户对象将看起来像这样:
{
username: "John Doe",
email: "john@doe.com",
role: "Role1",
createdAt : ...
...
}
,其次,使用云代码将该用户添加到角色"Role1"。
下面是云代码:
Parse.Cloud.afterSave(Parse.User, function(request, response) {
var user = request.user;
Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.Role);
// user.role is undefined here !!!
query.equalTo("name", user.role);
query.first({ success: function(role) {
role.relation("users").add(user);
role.save();
} ,error: function(error){
console.log('error');
console.log(error);
}});
});
正如您在这段代码中看到的那样,我需要使用查询通过其名称获取用户角色。角色应该存储在user对象中,但这段代码中的情况并非如此。
问题:如何访问云代码中的角色字段?
谢谢。
要获得role
字段,我们必须使用user.get('role')
而不是user.role
注意:如果您使用的是1.6.0 sdk,代码将失败,请考虑将值更改为1.5.0在你的"。parse. js"。项目"文件,等待这个错误被修复
相关文章:
- GoogleCalendarJavaScriptapi,将用户添加到带有“;写“;通道
- 如何允许用户添加/编辑spry小部件
- 向数组中的每个用户添加共同好友数
- 允许用户添加表单输入字段:为什么 append() 只工作一次
- 如何将新用户添加到我的用户数据库对象中
- Parse.com 云代码将用户添加到现有角色不起作用
- 如何从待办事项列表中清除元素(使用用户添加的元素)
- 如何通过让用户添加和删除小组件来创建可自定义的仪表板
- 动态评估用户添加的If语句
- 如何向用户添加一天's的输入
- 如何按用户添加的列保存组
- 如何向用户添加卡并使用Stripe进行充电
- Parse.com-无法向用户添加其他字段
- 向10万用户添加cookie时需要考虑的性能问题
- Angular Select Dropdown带有一个选项,允许用户添加自定义选项
- 自定义选择下拉,无法选择用户添加的项目
- 具有用户添加的行的窗体,以及对每行的输入元素查找
- 当我第一次为身份验证创建用户时,如何将用户添加到具有其唯一id的Firebase DB
- 我如何使一个表单在php中,允许用户添加额外的表单字段,如果他们需要他们
- 解析:使用云代码将用户添加到角色