Облачный код возвращает нулевое значение при нахождении средних оценок

У меня есть класс «Рейтинги» в Parse.com для моего приложения для iOS. Класс Ratings имеет "placeName", "rating" и "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.

Я новичок в облачном коде. Может кто-нибудь мне помочь?


person Naveen George Thoppan    schedule 19.02.2015    source источник
comment
вы ввели данные в класс?   -  person Dheeraj Singh    schedule 19.02.2015
comment
да. У меня есть данные для всего placeName. Я рассчитал рейтинги без облачного кода, и он отлично работает.   -  person Naveen George Thoppan    schedule 19.02.2015
comment
место, которое вы передаете в качестве аргумента, присутствует в данных вашего класса.   -  person Dheeraj Singh    schedule 19.02.2015
comment
да. Он тоже присутствует в классе.   -  person Naveen George Thoppan    schedule 19.02.2015
comment
эй, ваш код правильный, вы можете опубликовать изображение панели инструментов вашего анализа.   -  person Dheeraj Singh    schedule 19.02.2015


Ответы (1)


Я нашел ошибку. Это был ключ, с помощью которого вызывается облачная функция. В облачной функции он записывается как request.params.place и вызывается из программы с ключом placeName. Я новичок в JSON. Спасибо мистеру Дираджу Сингху.

person Naveen George Thoppan    schedule 19.02.2015