Você pode introduzir um método no
UserRepository para recuperar o distinto firstName valores de campo e retornar um List<String> . public interface UserRepository extends MongoRepository<User, String> {
@Aggregation(pipeline = { "{ '$group': { '_id' : '$firstName' } }" })
List<String> findDistinctFirstNames();
}
A chamada para obter a lista de distintos primeiro nome:
List<String> firstNamesDistinct = userRepository.findDistinctFirstNames();
Isso funcionou bem usando Spring Data MongoDB v2.4 e MongoDB v4.2.