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

Come scrivere una query per ottenere valori distinti dalla raccolta mongodb?

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.