Sau một hồi dò xét, tôi đã đưa ra giải pháp sau đây, giải pháp này ổn và hiệu quả, nhưng có thể được cải thiện. Tôi vẫn còn khá mới mẻ với Spring, vì vậy nếu bạn có ý tưởng hay hơn, vui lòng cho tôi biết.
Dù sao, nó đây:
Trước hết, chúng tôi sử dụng @Autowired
chú thích để đưa vào MongoTemplate cơ sở từ spring-data-mongodb
@Autowired
MongoTemplate mongoTemplate;
Khi chúng tôi có nó, chúng tôi có thể sử dụng nó để thực hiện một số truy vấn. Lưu ý rằng đây là phần hơi nặng mùi vì bạn phải cho Spring biết kiểu trả về là gì và nó không thực sự như vậy…
// Get the distinct stuff from MongoDB
List<String> coll = mongoTemplate.getCollection("mycollection").distinct("myfield");
Trong đoạn mã trên, bạn sẽ nhận thấy rằng tôi đã xác định một biến kiểu Danh sách được gọi là coll sử dụng @Autowired MongoTemplate
biến để nhận một tập hợp và sau đó là một trường bằng cách sử dụng riêng biệt. Điều này tương tự với db.whatever.distinct("term")
trên vỏ Mongo.