Parse.com User.get(" column")仅适用于当前用户

时间:2015-10-12 01:41:55

标签: javascript parse-platform

我有一个名为Group的对象,它将一个Users数组(默认Parse用户)存储为一列。我想列出所有这些用户'在某个组中显示名称(名为" displayName"的列),但出于某种原因,当我尝试在检索到的数组中的用户上使用.get函数时,它只向我提供当前信息用户。我检查了我的权限和ACL,并为每个用户公开读取,并且User类具有公共读写权限。这是我正在使用的代码:

var groupObject = Parse.Object.extend("Group");
  var users = [];
  var groupQuery = new Parse.Query(groupObject);
  groupQuery.get(groupId,{
    success: function(group)
    {
      users = group.get("Users");
      for(var i=0;i<users.length;i++)
      {
        var user = users[i];
        console.log("display name: " + user.get("displayName") + "username: " + user.get("username") + "id: " + user.id);
      }
      doneCallback(users);
    },
    error: function(object, error)
    {
      errorCallback(error);
    }
  });

我能够console.log所有的id,并且查询成功,但我唯一可以使用get(&#34; column&#34;)on是当前用户(它是组用户数组)。

1 个答案:

答案 0 :(得分:0)

我认为您应该使用关系而不是数组来将您的用户存储在Group对象中。通过关系添加,删除,获取和访问用户对象会更容易。当用户列表变大时,您也可以避免一些头痛。然后你应该能够获取任何给定组中的所有用户,如下所示:

var groupObject = new Parse.Object("Group");
groupObject.set("objectId", yourGroupId);
var query = groupObject.relation("Users").query();

Parse.Cloud.useMasterKey();

query.find().then( function(users) {
    _.each(users, function(user) {
        console.log(user.get("displayName"));
    });
});