sql >> Database >  >> NoSQL >> MongoDB

Onderscheidend in Spring Data MongoDB

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.



  1. Mongoose-query voor documenten van de afgelopen 24 uur, slechts één document per uur

  2. API Connect toont Cannot GET /apim/-fout bij bijwerken van schema

  3. Hoe kan ik met MongoDB een subdocument van een subarray bijwerken wanneer de elementpositie onbekend is?

  4. Asp.net core web-api met mongodb 500-fout