我想将用户添加到我的Parse.Role但它无法正常工作。我看了很多例子,看起来很简单,但是我无法做到。这是我的代码:
Parse.Cloud.define("activateVendor", function(request, response){
var query = new Parse.Query(Parse.Role);
query.equalTo("name", "vendor");
query.first ({
success: function(role) {
role.getUsers().add(request.params);//request.params is the parse object, should I be using request.params.id?
role.save();
},
error: function(error) {
throw "Got an error " + error.code + " : " + error.message;
}
})
});
答案 0 :(得分:1)
通过2个查询(角色,用户)做你想要的......
var qu = new Parse.Query(Parse.User);
var qr = new Parse.Query(Parse.Role);
Parse.Cloud.useMasterKey();
qr.get(roleId, {
success: function(role) {
_role = role;
qu.get(userId, {
success: function(user) {
_role.getACL().setRoleReadAccess(_role, true);
_role.getUsers().add(user);
_role.save();
response.success(_role.toJSON());
},
error: function(object, error) {
}
});
},
error: function(object, error) {
}
});
答案 1 :(得分:1)
这取决于您希望添加到角色的人。发出云请求的用户可通过请求对象获得...
role.getUsers().add(request.user);
否则,您可以通过@RobertRowntree建议的查询来获取用户。 (不过,我建议用承诺来做)。