Database
[{brand:"AMD",series:"5000",model:"5900x",userRating:5},{brand:"AMD",series:"5000",model:"5900x",userRating:2},{brand:"AMD",series:"5000",model:"5600x",userRating:3},{brand:"AMD",series:"3000",model:"3900x",userRating:5},{brand:"Intel",series:"i9",model:"12900k",userRating:5},{brand:"Intel",series:"i9",model:"12900k",userRating:4}]
Query
db.collection.aggregate([{$group:{_id:{series:"$series",brand:"$brand",model:"$model"},avgRating:{$avg:"$userRating"}}},{$group:{_id:{series:"$_id.series",brand:"$_id.brand"},data:{$push:{model:"$_id.model",avgRating:"$avgRating"}}}},{$project:{_id:0,series:"$_id.series",brand:"$_id.brand",data:1}}])