sql >> Database teknologi >  >> NoSQL >> MongoDB

Få sorteret distinkte værdier med MongoTemplate

Baseret på tidligere svar løste jeg mit 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());
}

Jeg håber, det vil være nyttigt for nogen.



  1. MongoDb upsert undtagelse ugyldigt BSON felt

  2. Skub element ind i indlejrede array mongoose nodejs

  3. Mongo Age Group Aggregation

  4. $project:Er det muligt at få adgang til en egenskab for et udtryksresultat i kun et enkelt trin?