Agregační rámec můžete použít k seskupení podle prvku, který chcete odlišit (skupina jej odliší). Pokud tedy chcete třídit podle partitury a získat odlišné klávesy, můžete udělat následující - seřadit podle partitury, seskupit podle klávesy a přidat partituru jako pole prvků (již seřazených):
db.test.aggregate([
{ $sort : { score : -1 } },
{ $group : {_id : "$key", scores : { $push : "$score" } } }
])
Výsledkem budou odlišné klíče spolu s řadou skóre, což jsou skóre obsažená v dokumentech s duplicitními klíči. Nejsem si jistý, že je to přesně to, co hledáte, a vím, že je to stará otázka, ale myslel jsem si, že by to mohlo pomoci někomu jinému, aby se na ni v budoucnu podíval – jako alternativní způsob, jak to udělat.