2016-01-21 45 views
0

我目前有这个云代码来检索所有与当前用户有关系的用户。我必须先找到当前用户,然后查询“朋友”列,然后查询关系查询步骤。解析云代码 - 仅在发送响应之前检索某些列。

response.success(results)返回所有当前用户的朋友的所有属性。我只想要一些属于这些朋友的专栏,而不是他们在注册时保存的每一件东西。

Parse.Cloud.define("getFriends", function(request, response) { 
    var userId = request.params.UserKey; 
    var query = new Parse.Query(Parse.User); 
    query.ascending("updatedAt"); 
    query.get(userId, { 
     success: function(foundCurrentUser) { 
      var currentUser = foundCurrentUser; 
      var relation = currentUser.relation("Friends"); 
      var getRelationQuery = relation.query(); 
      getRelationQuery.find().then(function(results) { 


       response.success(results); 

      }); 
     }, 
     error: function(error) { 
      response.error(error); 
     } 
    }); 
}); 

我使用SWIFT来使用的反应,我不知道,如果我需要调整SWIFT代码,但无论如何都会提供。

func LoadCarpoolersFromParse(Success:(object:AnyObject)->(),Failure:(error:NSError)->()) 
{ 
     let params = NSMutableDictionary() 
     params.setObject(PFUser.currentUser()!.objectId!, forKey: "UserKey") 

     PFCloud.callFunctionInBackground("getCarpoolers", withParameters: params as [NSObject : AnyObject], block: { 
      (response:AnyObject?, error: NSError?) -> Void in 
      if error == nil { 
       Success(object: response!) 
      } 
      else{ 
       Failure(error:error!) 
      } 
     }) 
    } 
} 

回答

1

可以使用的Parse.Queryselect方法做,使你的云代码

Parse.Cloud.define("getFriends", function(request, response) { 
var userId = request.params.UserKey; 
var query = new Parse.Query(Parse.User); 
query.ascending("updatedAt"); 
query.select("name","phone"); // replace with your required fields 
+0

这将接受以下更改,但query.select实际上应为getRelationQuery。所以我getRelationQuery.select(“名称”,“电话”);它像一个魅力一样工作。 thansk – kareem

+0

我刚刚给你一个想法,关于如何做到这一点 – raki