2016-01-21 48 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