Sie können die folgende Aggregation in 3.4 ausprobieren.
$lookup
um die Punkte für abgeschlossene Strecken nachzuschlagen, gefolgt von $addFields
um ein Ergebnisfeld zurückzugeben, das die Punkte summiert, und $project
mit Ausschluss, um das Suchdatenfeld aus der Antwort zu entfernen.
UserModel.aggregate([
{"$lookup":{
"from":"tracks", // name of the foreign collection
"localField":"completedTracks",
"foreignField":"_id",
"as":"lookup-data"
}},
{"$addFields":{
"score":{
"$sum":"$lookup-data.points"
}
}},
{"$project":{"lookup-data":0}}
])