MongoDB tidak mendukung penyortiran sisi server dengan distinct memerintah. Apa yang terjadi di konsol adalah distinct('myKey') panggilan mengembalikan array dan kemudian Anda memanggil JavaScript sort metode pada array itu yang mengembalikan versi array yang diurutkan. Parameter yang Anda masukkan ke sort diabaikan.
Untuk melakukan hal yang sama di Java, Anda akan melakukan:
List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);
Untuk mendapatkan kunci unik menggunakan pengurutan sisi server, Anda dapat menggunakan aggregate . Inilah cara Anda melakukannya di shell:
db.mycollection.aggregate([
{ $group: {_id: '$myKey' }},
{ $sort: {_id: 1}}
])
Namun, ketika saya menguji ini, pendekatan pengurutan sisi klien yang sederhana berkinerja jauh lebih baik.