Na een beetje rondneuzen, heb ik de volgende oplossing bedacht, die OK is en werkt, maar waarschijnlijk kan worden verbeterd. Ik ben nog vrij nieuw in Spring, dus als je een beter idee hebt, laat het me dan alsjeblieft weten.
Hoe dan ook, hier is het:
Ten eerste gebruiken we de @Autowired
annotatie om de basis MongoTemplate van spring-data-mongodb binnen te halen
@Autowired
MongoTemplate mongoTemplate;
Zodra we dat hebben, kunnen we het gebruiken om enkele vragen te stellen. Merk op dat dit het enigszins stinkende deel is omdat je Spring moet vertellen wat het retourtype is en dat vindt het niet echt leuk ...
// Get the distinct stuff from MongoDB
List<String> coll = mongoTemplate.getCollection("mycollection").distinct("myfield");
In de bovenstaande code zult u merken dat ik een lijsttypevariabele heb gedefinieerd met de naam coll die de @Autowired MongoTemplate
gebruikt variabele om een verzameling te krijgen en vervolgens een veld met behulp van distinct. Dit is analoog aan db.whatever.distinct("term")
op de Mongo-schelp.