MongoDB nepodporuje řazení na straně serveru s distinct
příkaz. V konzoli se děje distinct('myKey')
call vrátí pole a potom zavoláte JavaScript sort
metoda na tomto poli, která vrací seřazenou verzi pole. Parametry, které předáte do sort
jsou ignorovány.
Chcete-li provést ekvivalent v Javě, udělali byste:
List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);
Chcete-li získat jedinečné klíče pomocí řazení na straně serveru, můžete použít aggregate
. Zde je návod, jak to udělat v shellu:
db.mycollection.aggregate([
{ $group: {_id: '$myKey' }},
{ $sort: {_id: 1}}
])
Když jsem to však testoval, jednoduchý přístup řazení na straně klienta fungoval mnohem lépe.