Puede introducir un método en el UserRepository para recuperar el distintivo firstName valores de campo y devolver un List<String> .
public interface UserRepository extends MongoRepository<User, String> {
@Aggregation(pipeline = { "{ '$group': { '_id' : '$firstName' } }" })
List<String> findDistinctFirstNames();
}
La llamada para obtener la lista de distintos nombres:
List<String> firstNamesDistinct = userRepository.findDistinctFirstNames();
Esto funcionó bien con Spring Data MongoDB v2.4 y MongoDB v4.2.