MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Distinto no Spring Data MongoDB


Depois de pesquisar um pouco, cheguei à seguinte solução, que está OK e funciona, mas provavelmente pode ser melhorada. Eu ainda sou muito novo no Spring, então se você tiver uma ideia melhor, por favor me avise.

De qualquer forma, aqui está:

Primeiro, usamos o @Autowired anotação para trazer o MongoTemplate base de spring-data-mongodb
@Autowired
MongoTemplate mongoTemplate;

Uma vez que temos isso, podemos usá-lo para fazer algumas consultas. Note que esta é a parte um pouco fedorenta porque você tem que dizer ao Spring qual é o tipo de retorno e ele realmente não gosta disso…
// Get the distinct stuff from MongoDB
List<String> coll = mongoTemplate.getCollection("mycollection").distinct("myfield");

No código acima, você notará que eu defini uma variável do tipo List chamada coll que usa o @Autowired MongoTemplate variável para obter uma coleção e, em seguida, um campo usando distinct. Isso é análogo a db.whatever.distinct("term") na concha do Mongo.