Database

[{name:"studen_a",results:[{subject:"Math",point:9,},{subject:"Physical",point:10,}]},{name:"studen_b",results:[{subject:"Math",point:8,},{subject:"Physical",point:8,}]},{name:"studen_c",results:[{subject:"Math",point:10,},{subject:"Physical",point:8,}]},{name:"studen_d",results:[{subject:"Math",point:9,},{subject:"Physical",point:8,}]}]

Query

db.collection.aggregate([{"$unwind":"$results"},{$match:{"results.subject":"Math"}},{"$group":{"_id":null,"avg":{"$avg":"$results.point"},"min":{"$min":"$results.point"},"max":{"$max":"$results.point"}}}])

Result