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.