如何使用解析云从用户指针检索用户名,电子邮件等

时间:2014-06-19 05:52:06

标签: parse-platform

我正在尝试从用户指针{"result":{"__type":"Pointer","className":"_User","objectId":"kArFHAxDNn"}}

获取用户名,email..etc等用户字段
  Ex:-  voted_userIds =  results_poll[i].get("voted_user_ids");
         voted_userIds[0].get("username");
         voted_userIds[0].get("email");

什么都没有返回,它只返回空{"result":""}

我在过去2天内遇到过这个问题。有人能帮助我吗?

更新: -

// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("pollResults", function(request, response) {
  var query = new Parse.Query("Poll");
  var userData = new Parse.Query("User");
  Parse.Cloud.useMasterKey();
  userData.equalTo("objectId", request.params.userId);

  //FETCH A USER BY ID
  userData.get(request.params.userId, {
    success: function(object) {

        //POLL LIST
         query.include('voted_user_ids');
        query.equalTo("user", object);
          query.find({
            success: function(results_poll) {
            var voted_userIds='';
            var message = '';
                for(var i =0; i < results_poll.length; i++){

                        if ((typeof results_poll[i].get("voted_user_ids") !== "undefined") && (results_poll[i].get("voted_user_ids") !== null)){
                            message = results_poll[i].get("voted_user_ids")[0].get("username");
                        }

                }
              response.success("--->"+message);
            },
            error: function() {
              response.error("no results found");
            }
          });

  },
    error: function() {
      response.error("no results found");
    }
  });



});

注意: - voted_userIds包含用户指针数组。

2 个答案:

答案 0 :(得分:1)

如果voted_user_ids是一个数组列,您只能在查询中include(),例如:

query.include('voted_user_ids');

这将允许您访问每个用户的所有属性。

如果您已经锁定了权限(这是可取的),您可能还需要使用主密钥来读取其他用户帐户,在运行查询之前,只需添加此行:

Parse.Cloud.useMasterKey();

答案 1 :(得分:1)

不需要2个查询来引用字段内的指针数组(voted_user_ids)

如果它有一个指向类的指针数组,那么第一个查询将返回它并且不需要第二个查询....

   //POLL LIST
    query.include('voted_user_ids');
    query.equalTo("user", object);
      query.find({
        success: function(results_poll) {

查看有关在单个查询中获取指针的文档。您的指针应该在第一个查询的json响应中排成一行。