Anda dapat melakukan ini dengan kerangka kerja agregasi. Ini tidak akan terlalu efisien untuk melakukannya dalam satu kueri, jadi Anda mungkin harus melakukan hal yang sama seperti yang Anda lakukan di SQL yang menjalankan dua kueri - satu-satunya perbedaan adalah bahwa MongoDB tidak akan "menyatukan" mereka untuk Anda, dan Anda harus melakukannya di aplikasi.
Dua kueri agregasi adalah:
db.collection.aggregate( [
{$project:{name:1, points:{$subtract:["$score_kills","$score_deaths"]}}},
{$sort:{points:-1}},
{$limit:10}
]);
Ini akan memberi Anda 10 teratas. Untuk mendapatkan 10 terbawah, Anda akan melakukan hal yang sama tetapi mengurutkan berdasarkan {points:1}
yang akan memberi Anda 10 terbawah.