我想将此查询与@Query
注释放在我的存储库中。
这是查询:
`db.report.find({'company' : 'Random'}).sort( { 'reportDate' : -1} ).limit(1)`
使用@Query注释实现自定义查询或使用MongoTemplate的最佳方法是哪种?
答案 0 :(得分:7)
使用Mongo模板。
Criteria find = Criteria.where("company").is("Random");
Query query = new Query().addCriteria(find).with(new Sort(Sort.Direction.DESC, "reportDate"));
BasicDBObject result = mongoOperations.findOne(query, BasicDBObject.class, "collection_name");
使用Mongo存储库
Report findTopByCompanyOrderByReportDateDesc(String company)
答案 1 :(得分:1)
请注意,在新版本的Springboot(v2.2.5)中,正确的方法是sort.by()。 像这样:
Query query = new Query().addCriteria(find).with(Sort.by(Sort.Direction.DESC, "reportDate"));