sql >> Base de Datos >  >> NoSQL >> MongoDB

obtener valores distintos con datos ordenados

Puede usar el marco de agregación para agrupar por el elemento que desea que sea distinto (el grupo lo hace distinto). Entonces, si desea ordenar por partitura y luego obtener distintas claves, puede hacer lo siguiente:ordenar por partitura, agrupar por clave y agregar partitura como conjuntos de elementos (ya ordenados):

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

Esto dará como resultado claves distintas junto con una serie de partituras que son las partituras contenidas en los documentos con claves duplicadas. No estoy seguro de que esto sea exactamente lo que estás buscando y sé que es una vieja pregunta, pero pensé que esto podría ayudar a que alguien más lo vea en el futuro, como una forma alternativa de hacerlo.