MongoDB no admite la clasificación del lado del servidor con distinct
dominio. Lo que sucede en la consola es que distinct('myKey')
la llamada devuelve una matriz y luego está llamando a JavaScript sort
método en esa matriz que devuelve una versión ordenada de la matriz. Los parámetros que pasas a sort
se ignoran.
Para hacer el equivalente en Java harías:
List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);
Para obtener las claves únicas utilizando una ordenación del lado del servidor, puede usar aggregate
. Así es como harías eso en el shell:
db.mycollection.aggregate([
{ $group: {_id: '$myKey' }},
{ $sort: {_id: 1}}
])
Sin embargo, cuando probé esto, el enfoque de clasificación simple del lado del cliente funcionó mucho mejor.