You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Spring Boot从MongoDB计算平均评分结果不符问题排查

Java项目MongoDB电影平均评分计算结果不符问题排查

我正在开发基于Java的项目,需从MongoDB的ReviewSummary文档计算电影平均评分,但计算结果(1.309375)与预期值(3.325)严重不符,请求协助定位问题。

相关信息

1. MongoDB ReviewSummary文档示例

{
  "movieId": "movie_001",
  "totalReviews": 40,
  "sumOfScores": 133,
  "reviewDetails": [{"score":3}, {"score":4}, ...]
}

2. Java计算逻辑代码

// 当前使用的评分计算方法
public double getAverageRating(ReviewSummary reviewSummary) {
    if (reviewSummary.getTotalReviews() == 0) {
        return 0.0;
    }
    // 此处为当前计算逻辑
    return (double) reviewSummary.getSumOfScores() / reviewSummary.getTotalReviews();
}

3. Postman返回的电影数据示例

{
  "movieId": "movie_001",
  "title": "Test Movie",
  "averageRating": 1.309375,
  "totalReviews": 40
}

可能的问题排查点

  • 数据准确性核查:确认ReviewSummary中的sumOfScores和totalReviews是否正确。比如是否sum值被错误存储为实际总和的1/2.5,或者totalReviews统计了未提交评分的无效记录
  • Java类型转换问题:检查计算时是否存在整数除法截断。比如如果sumOfScores和totalReviews都是int类型,是否在计算前正确将其中一个转为double(如(double) sum / total而非sum / total后转double)
  • 逻辑额外处理:排查代码中是否存在未注意到的权重系数、过滤规则。比如是否误将评分按0-1区间缩放后未还原,或者过滤了高于3分的评分记录
  • MongoDB聚合错误:如果ReviewSummary是通过MongoDB聚合生成的,检查聚合管道是否正确累加评分、统计有效评论数。比如是否用了$count而非$sum统计数量,或者评分字段取错

内容的提问来源于stack exchange,提问作者ABAB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 00:38:13