将评分添加到值并计算Firebase中的平均值

时间:2016-10-07 14:20:03

标签: swift firebase firebase-realtime-database

我想知道是否有可能从1-5评价一件事然后计算其平均值?例如,我有产品"牛奶"用" rate":0。 是否可以计算有多少用户对其进行了评分,然后计算出计算率/有多少用户给出评级=评级?

为了清楚说明:我给牛奶评分为3,你用1评分,然后平均值为(3 + 1)/ 2 =率:2

我应该在用户端进行此计算,还是可以将Firebase结束?

我应该用什么逻辑?

最难的是要记住有多少用户对产品进行了评分。我想我可以做其他事情。

我应该制作新密钥:值如计数并在每次用户评价时增加计数?

编辑:我尝试过这样的事情,但这会导致nil:

let rate =  self.productsValue[indexPath.row]["rate"] as? Int
            print("rate",rate)
let count = self.productsValue[indexPath.row]["count"] as? Int
            print("count",count)            
let rating = Int(rate!) / Int(count!)
            print(rating)

1 个答案:

答案 0 :(得分:-1)

为了获得平均评分以及给予它一定评级的用户数量,我建议使用这种JSON树:

Products
  Milk:
    ...
    nrOfUsersGivenRating0: 15
    nrOfUsersGivenRating1: 54
    nrOfUsersGivenRating2: 12
    nrOfUsersGivenRating3: 32
    nrOfUsersGivenRating4: 21
    nrOfUsersGivenRating5: 65

然后,您可以在客户端计算投票的用户总数,平均评分,并轻松获得投票给某个评级的用户数。希望它有所帮助!