MongoDB non supporta l'ordinamento lato server con distinct
comando. Quello che sta succedendo nella console è che distinct('myKey')
call restituisce un array e quindi stai chiamando JavaScript sort
metodo su quell'array che restituisce una versione ordinata dell'array. I parametri che passi a sort
vengono ignorati.
Per fare l'equivalente in Java dovresti fare:
List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);
Per ottenere le chiavi univoche utilizzando un ordinamento lato server è possibile utilizzare aggregate
. Ecco come lo faresti nella shell:
db.mycollection.aggregate([
{ $group: {_id: '$myKey' }},
{ $sort: {_id: 1}}
])
Tuttavia, quando l'ho testato, il semplice approccio di ordinamento lato client ha funzionato molto meglio.