Cloud代码在查找平均评级时返回null值

时间:2015-02-19 05:03:20

标签: ios parse-platform cloud-code

我正在上课&评级'在Parse.com中为我的iOS应用程序。评级类有一个' placeName','评级'和' userId'对于评价该地点的用户。我尝试使用以下云代码来获得Parse Docs中给出的平均评分。

Parse.Cloud.define("calculateRating", function(request, response) {
    var query = new Parse.Query("Ratings");
    query.equalTo("placeName", request.params.place);
    query.find({
    success: function(results) {
    var sum = 0;
    for (var i = 0; i < results.length; ++i) {
        sum += results[i].get("rating");
    }
    response.success(sum / results.length);
    },
error: function() {
  response.error("movie lookup failed");
  }
});
});

我使用以下内容从我的iOS应用程序调用云代码:

 [PFCloud callFunctionInBackground:@"calculateRating"
                   withParameters:@{@"placeName":self.place}
                            block:^(NSNumber *ratings, NSError *error) {
                                if (!error) {
                                    NSLog(@"%@",ratings);
                                }
}];

控制台给我一个空值。这些代码与Parse Docs中的语法完全相同。

我是云代码的新手。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我发现了错误。它是调用云函数的关键。在云函数中,它被写为request.params.place,它从程序中使用键'placeName'调用。我是JSON的新手。感谢Dheeraj Singh先生。