sql >> Databasteknik >  >> NoSQL >> MongoDB

Distinkt i Spring Data MongoDB

Efter lite petande har jag kommit fram till följande lösning, som är OK och fungerar, men som förmodligen kan förbättras. Jag är fortfarande ganska ny på våren, så om du har en bättre idé får du gärna meddela mig.

Hur som helst, här är den:

Först och främst använder vi @Autowired anteckning för att ta in basen MongoTemplate från spring-data-mongodb

@Autowired
MongoTemplate mongoTemplate;

När vi väl har det kan vi använda det för att göra några frågor. Observera att det här är den lite illaluktande delen eftersom du måste berätta för Spring vad returtypen är och det gillar det inte riktigt...

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

I koden ovan kommer du att märka att jag har definierat en listtypvariabel som heter coll som använder @Autowired MongoTemplate variabel för att få en samling och sedan ett fält med distinkt. Detta är analogt med db.whatever.distinct("term") på Mongo-skalet.



  1. Ansluter Spark till flera Mongo-samlingar

  2. Behöver jag rensa användarinmatning innan jag infogar i MongoDB (MongoDB+Node js combo)

  3. mongoose anpassad validering med 2 fält

  4. Laravel alla sessions-ID:n med Redis-drivrutinen