【发布时间】:2015-07-29 23:48:16
【问题描述】:
我正在为 Parse Cloud 代码苦苦挣扎。我正在尝试根据用户评论创建啤酒厂列表。我想我需要计算每个啤酒厂的平均评论,然后使用这个值来生成列表。我只想包括平均为 4 或更高的啤酒厂。
请原谅我对此事的无知,提前谢谢!
这是我拥有的,但它不起作用。
Parse.Cloud.afterSave("reviewAvergae", function(request){
var Review = Parse.Object.extend("Reviews");
var query = new Parse.Query("Reviews");
query.get(request.object.get("rating").id, {
success: function(reviews) {
var sum = 0;
for (var i = 0; i < reviews; i++) {
sum += reviews[i].get("rating");
}
var ave = sum / reviews.length;
reviews.set("average", ave);
reviews.save();
}
});
/*
query.equalTo("breweryId", request.params.brewId);
query.find({
success: function(result) {
var sum = 0;
for (var i = 0; i < result.length; i++) {
sum += result[i].get("rating");
}
Review.set("averageRating", sum / result.length);
Review.save();
console.log(sum / result.length);
}
});
*/
});
Parse.Cloud.define("featured", function(request, response) {
var query = new Parse.Query("Reviews");
// query.near("location", request.params.loc);
query.withinMiles("location", request.params.loc, 50);
query.limit(10);
query.find({
success: function(results) {
var sum = 0;
var rating;
var ratings = new Array();
var id;
var ids = new Array();
for (var i = 0; i < results.length; i++) {
id = results[i].get("breweryId");
ids.push(id);
}
response.success(results);
console.log(ratings.length);
},
error: function() {
response.error("No breweriers in your area have been reviewed.");
}
});
});
解析我的评论对象如下所示:
注意:我的实际应用是针对 iOS 并用 swift 编写的。
更新:添加啤酒厂对象后,我尝试了以下操作。我现在收到以下错误:[错误]:找不到函数(代码:141,版本:1.7.5)
Parse.Cloud.afterSave("Reviews", function(request){
var Review = Parse.Object.extend("Reviews");
var breweryId = Review.get("breweryId");
var query = new Parse.Query("Reviews");
query.equalTo("breweryId", breweryId);
query.find({
success: function(results) {
var total = 0;
for (var i = 0; i < results.length; i++) {
var object = results[i];
total += object.get("rating");
}
var averageRating = total / results.length;
console.log(averageRating);
var query = new Parse.Query("Brewery");
query.equalTo("breweryId", breweryId);
}, error: function() {
}
});
});
这是我在 Parse 中的对象的一些更新图像
【问题讨论】:
-
手头更重要的任务是在保存评论后获得啤酒厂的平均评论。我的代码的第一部分试图做到这一点,但是我有点迷路/卡住了。