sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Java-drivrutin:distinkt med sort

MongoDB stöder inte sortering på serversidan med distinct kommando. Vad som händer i konsolen är att distinct('myKey') call returnerar en array och sedan anropar du JavaScript sort metod på den arrayen som returnerar en sorterad version av arrayen. Parametrarna du skickar till sort ignoreras.

För att göra motsvarande i Java skulle du göra:

List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);

För att få de unika nycklarna med hjälp av en sortering på serversidan kan du använda aggregate . Så här gör du det i skalet:

db.mycollection.aggregate([
    { $group: {_id: '$myKey' }},
    { $sort: {_id: 1}}
])

Men när jag testade detta fungerade den enkla metoden för sortering på klientsidan mycket bättre.



  1. Röstsystem med Backbone.js

  2. Meteor - återger namnet på ägaren i en lista med objekt

  3. MongoDB - Fel:dokumentet måste ha ett _id innan det sparas

  4. Parse server - Filen hittades inte