MongoDB не поддържа сортиране от страна на сървъра с distinct
команда. Това, което се случва в конзолата е, че distinct('myKey')
call връща масив и след това извиквате JavaScript sort
метод на този масив, който връща сортирана версия на масива. Параметрите, които подавате в sort
се игнорират.
За да направите еквивалента в Java, ще направите:
List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);
За да получите уникалните ключове чрез сортиране от страна на сървъра, можете да използвате aggregate
. Ето как бихте направили това в обвивката:
db.mycollection.aggregate([
{ $group: {_id: '$myKey' }},
{ $sort: {_id: 1}}
])
Въпреки това, когато тествах това, простият подход за сортиране от страна на клиента се представи много по-добре.