посмотри addFields, можно сделать еще одно поле, где всё посчитать "по формуле", и потом уже типа
sort: { newField: -1 }
https://docs.mongodb.com/manual/reference/operator...
db.scores.aggregate( [
{
$addFields: {
totalHomework: { $sum: "$homework" } , // сумма массива
totalQuiz: { $sum: "$quiz" } // сумма массива
}
},
{
$addFields: { totalScore:
{ $add: [ "$totalHomework", "$totalQuiz", "$extraCredit" ] } } // два новых поля + одно старое
}
] )
хотя это конечно расплывчатый ответ, но и из вопроса непонятно, как что считать, если average то наверняка можно и проще