U kunt dit doen met een aggregatieraamwerk. Het zal niet bijzonder efficiënt zijn om het in één query te doen, dus u zou waarschijnlijk hetzelfde moeten doen als in SQL, dat twee query's uitvoert - het enige verschil is dat MongoDB ze niet zal "verenigen" voor jij, en je zult het in de applicatie moeten doen.
De twee aggregatiequery's zouden zijn:
db.collection.aggregate( [
{$project:{name:1, points:{$subtract:["$score_kills","$score_deaths"]}}},
{$sort:{points:-1}},
{$limit:10}
]);
Dit zou je de top 10 geven. Om de onderste 10 te krijgen, zou je hetzelfde doen, maar sorteren op {points:1}
waardoor je de laagste 10 hebt.