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

标签 javascript parse-platform

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

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("column") 的就是当前用户(它是组用户数组的一部分)。

最佳答案

我认为您应该使用关系而不是数组来将用户存储在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"));
    });
});

关于javascript - Parse.com User.get ("column")仅适用于当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072052/

相关文章:

linux - 嵌入式 C 解析服务器迁移 serverURL

javascript - 如果未启用 JavaScript,则从服务器写入内容

javascript - 将元素中包含的内容与数组一起添加

javascript - 为什么这个简单的一行 javascript 代码不起作用?

Android - 解析查询以获取所有帖子和用户与帖子一起去

ios - 如何在 swift ios 应用程序中从解析加载文件(它是图像)?

arrays - 解析: Download array in swift

javascript - React 组件 DOM 未更新

javascript - npm 登录 - 注册表为 PUT 返回 401

xcode - swift 1.2 更新 Parse.com 的查询错误