Puoi introdurre un metodo in UserRepository per recuperare il distinto firstName valori di campo e restituire un List<String> .
public interface UserRepository extends MongoRepository<User, String> {
@Aggregation(pipeline = { "{ '$group': { '_id' : '$firstName' } }" })
List<String> findDistinctFirstNames();
}
La chiamata per ottenere l'elenco di distinti nomi:
List<String> firstNamesDistinct = userRepository.findDistinctFirstNames();
Questo ha funzionato bene utilizzando Spring Data MongoDB v2.4 e MongoDB v4.2.