试图检索角色的所有用户

时间:2014-03-24 22:29:08

标签: javascript parse-platform

我正在尝试检索给定角色的所有用户,以显示给另一个角色的用户。

即。角色SuperAdmin中的用户获取一个屏幕,其中包含角色BaseUser中所有用户的列表。

我试过

var query = (new Parse.Query(Parse.Role));
query.equalTo("name", "BaseUser");
query.include("users")
query.find({ success: function(role) {
  console.log(role)
}})

这只给了我400个不好的请求。

我也试过

var query = (new Parse.Query(Parse.Role));
query.equalTo("name", "BaseUser");
query.find({ success: function(role) {
  query = (new Parse.Query(Parse.User));
  query.equalTo("role",role)
  query.find({success: function(users) {
    console.log(users)
  }})
}})

同样地,我收到400个错误请求。有什么建议吗?

更新

var query = (new Parse.Query(Parse.Role));
query.equalTo("name", "SuperAdmin");
query.first({ success: function(role) {
  query = (new Parse.Query(Parse.User));
  query.equalTo("role",role)
  query.find({success: function(users) {
    console.log(users)
  },
    error: function(error) {
        console.log(error);
    }})
}})

我将top(外部)查询从find更改为first,因为它是一个数组而不是一个元素,实际上我只需要一个匹配的角色。现在我得到一个空数组而不是错误。虽然

仍然不是我的用户

已更新

想出来

var query = (new Parse.Query(Parse.Role));
query.equalTo("name", "SuperAdmin");
query.first({ success: function(role) {
  role.relation('users').query().find({success: function(users) {
     console.log(users)
  }})
}})  

这将引入用户关系并允许您查询它。

1 个答案:

答案 0 :(得分:0)

根据docs,错误代码400仍将包含带错误的响应。在您的情况下,您没有包含error:回调。将您的查询更改为:

query.find({
    success: function(users) {
        console.log(users);
    },
    error: function(error) {
        console.log(error);
    }
});

所以你可以看到实际的错误是什么。