sql >> Databáze >  >> NoSQL >> MongoDB

Ovladač MongoDB Java:odlišný od řazení

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.



  1. Jak získat počet z výsledků souhrnného vyhledávání

  2. $vyhledat více úrovní bez $unwind?

  3. Jak se vypořádat s problémem časového pásma při ukládání dat v utc pomocí mongodu?

  4. Rozšíření Mongo php po aktualizaci Heroku (skladatel)