MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Erhalten Sie eindeutige Werte mit sortierten Daten

Sie können das Aggregations-Framework verwenden, um nach dem Element zu gruppieren, das Sie unterscheiden möchten (Gruppe macht es verschieden). Wenn Sie also nach Partitur sortieren und dann unterschiedliche Schlüssel erhalten möchten, können Sie Folgendes tun - nach Partitur sortieren, nach Schlüssel gruppieren und Partitur als Arrays von Elementen hinzufügen (bereits sortiert):

db.test.aggregate([
    { $sort : { score : -1 } },
    { $group : {_id : "$key", scores : { $push : "$score" } } }
])

Dies führt zu unterschiedlichen Schlüsseln zusammen mit einer Reihe von Bewertungen, bei denen es sich um die Bewertungen handelt, die in den Dokumenten mit doppelten Schlüsseln enthalten sind. Ich bin mir nicht sicher, ob das genau das ist, wonach Sie suchen, und ich weiß, dass dies eine alte Frage ist, aber ich dachte, dies könnte jemand anderem helfen, der sich in Zukunft damit befasst - als alternative Möglichkeit, dies zu tun.