sql >> Databasteknik >  >> NoSQL >> MongoDB

Få sorterade distinkta värden med MongoTemplate

Baserat på tidigare svar löste jag mitt problem med Mongo Aggregation:

@Override
public List<Object> getDistinctValues(String collection, String fieldName, Sort.Direction sort) {
    Aggregation agg = Aggregation.newAggregation(
            Aggregation.group(fieldName),
            Aggregation.sort(sort, "_id")
    );
    return mongoTemplate.aggregate(agg, collection, Document.class)
            .getMappedResults()
            .stream()
            .map(item -> item.get("_id"))
            .collect(Collectors.toList());
}

Jag hoppas att det kommer att vara till hjälp för någon.



  1. Kan jag köra en rå MongoDB-fråga i node-mongodb-native drivrutin?

  2. Vad betyder *((char*)-1) ='x'-koden?

  3. Hur man designar högt tillgängliga databasmiljöer med öppen källkod

  4. Exponera MongoDB på Kubernetes med StatefulSets utanför klustret