Bạn có thể làm điều này với khung tổng hợp. Sẽ không đặc biệt hiệu quả nếu thực hiện nó trong một truy vấn, vì vậy bạn có thể chỉ nên làm điều tương tự như bạn đang làm trong SQL đang chạy hai truy vấn - sự khác biệt duy nhất là MongoDB sẽ không "kết hợp" chúng cho bạn và bạn sẽ phải làm điều đó trong ứng dụng.
Hai truy vấn tổng hợp sẽ là:
db.collection.aggregate( [
{$project:{name:1, points:{$subtract:["$score_kills","$score_deaths"]}}},
{$sort:{points:-1}},
{$limit:10}
]);
Điều này sẽ cung cấp cho bạn top 10. Để có được 10 điểm dưới cùng, bạn sẽ làm điều tương tự nhưng sắp xếp theo {points:1}
điều này sẽ khiến bạn bị tụt hạng 10.