Możesz użyć struktury agregacji, aby pogrupować według elementu, który chcesz wyróżnić (grupa czyni go odrębnym). Więc jeśli chcesz sortować według punktów, a następnie uzyskać różne klucze, możesz wykonać następujące czynności - sortować według punktów, grupować według kluczy i dodawać punkty jako tablice elementów (już posortowane):
db.test.aggregate([
{ $sort : { score : -1 } },
{ $group : {_id : "$key", scores : { $push : "$score" } } }
])
Spowoduje to powstanie odrębnych kluczy wraz z tablicą wyników, które są wynikami zawartymi w dokumentach ze zduplikowanymi kluczami. Nie jestem pewien, czy to jest dokładnie to, czego szukasz i wiem, że to stare pytanie, ale pomyślałem, że może to pomóc komuś innemu spojrzeć na to w przyszłości - jako alternatywny sposób na zrobienie tego.