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

Distinto in Spring Data MongoDB

Dopo aver dato un'occhiata in giro, ho trovato la seguente soluzione, che è OK e funziona, ma probabilmente può essere migliorata. Sono ancora abbastanza nuovo per la primavera, quindi se hai un'idea migliore, fammi sapere.

Comunque, eccolo qui:

Prima di tutto, utilizziamo il @Autowired annotazione per inserire il MongoTemplate di base da spring-data-mongodb

@Autowired
MongoTemplate mongoTemplate;

Una volta che lo abbiamo, possiamo usarlo per fare alcune domande. Nota che questa è la parte leggermente puzzolente perché devi dire a Spring qual è il tipo di reso e non gli piace molto...

// Get the distinct stuff from MongoDB
List<String> coll = mongoTemplate.getCollection("mycollection").distinct("myfield");

Nel codice sopra noterai che ho definito una variabile di tipo List chiamata coll che utilizza il @Autowired MongoTemplate variabile per ottenere una raccolta e quindi un campo utilizzando distinto. Questo è analogo a db.whatever.distinct("term") sulla conchiglia Mongo.