解析云代码 - 仅在发送响应之前检索某些列

Parse Cloud Code - Only Retrieve Certain Columns Before Sending Response.

本文关键字:响应 检索 代码      更新时间:2023-09-26

我目前有这个云代码来检索与当前用户有关系的所有用户。我必须首先找到当前用户,然后查询"朋友"列,因此关系查询步骤。

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!)
            }
        })
    }
}

您可以使用select方法Parse.Query ,在云代码中进行以下更改

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