首页 > 解决方案 > 如何在 MongoDB 中找到平均分数?

问题描述

{
  "id": "onslaught", 
  "name":"abc",
  "type": "bread",
  "powers": [
       {"grade": "A", "Rating": 3}, 
       {"grade": "B", "Rating": 5}, 
       {"grade": "A", "Rating": 2},
       {"grade": "B", "Rating": 5}, 
       {"grade": "A", "Rating": 7}, 
       {"grade": "A", "Rating": 7}
    ]
}

需要找出type=bread中每家餐厅的平均分。

标签: mongodbaggregation-framework

解决方案


需要的可以参考unwind group avg

{
    $unwind: {
        path: "$powers",
        preserveNullAndEmptyArrays: true
    }
}, {
    $group: {
        _id: "$_id",
        average: {
            "$avg": "$powers.Rating"
        }
    }
}

推荐阅读