MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

ottenere valori distinti con dati ordinati

È possibile utilizzare il framework di aggregazione per raggruppare in base all'elemento che si desidera sia distinto (il gruppo lo rende distinto). Quindi, se desideri ordinare in base alla partitura, quindi ottenere chiavi distinte, puoi eseguire le seguenti operazioni:ordina per partitura, raggruppa per chiave e aggiungi partitura come array di elementi (già ordinati):

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

Ciò si tradurrà in chiavi distinte insieme a una serie di punteggi che sono quei punteggi contenuti nei documenti con chiavi duplicate. Non sono sicuro che questo sia esattamente quello che stai cercando e so che questa è una vecchia domanda, ma ho pensato che questo potrebbe aiutare qualcun altro a esaminarlo in futuro, come un modo alternativo per farlo.