U kunt het aggregatieraamwerk gebruiken om te groeperen op het element dat u wilt onderscheiden (groep maakt het onderscheidend). Dus als je op partituur wilt sorteren en dan verschillende sleutels wilt krijgen, kun je het volgende doen - sorteren op partituur, groeperen op toonsoort en partituur toevoegen als arrays van elementen (reeds gesorteerd):
db.test.aggregate([
{ $sort : { score : -1 } },
{ $group : {_id : "$key", scores : { $push : "$score" } } }
])
Dit zal resulteren in verschillende sleutels samen met een reeks scores die de scores zijn die in de documenten met dubbele sleutels staan. Ik weet niet zeker of dit precies is wat je zoekt en ik weet dat dit een oude vraag is, maar ik dacht dat dit iemand anders zou kunnen helpen er in de toekomst naar te kijken - als een alternatieve manier om dit te doen.