【发布时间】:2017-01-23 12:37:13
【问题描述】:
我想将此查询与@Query 注释放在我的存储库中。
这是查询:
`db.report.find({'company' : 'Random'}).sort( { 'reportDate' : -1} ).limit(1)`
使用 @Query 注释或使用 MongoTemplate 实现自定义查询的最佳方法是什么?
【问题讨论】:
标签: spring mongodb spring-boot repository
我想将此查询与@Query 注释放在我的存储库中。
这是查询:
`db.report.find({'company' : 'Random'}).sort( { 'reportDate' : -1} ).limit(1)`
使用 @Query 注释或使用 MongoTemplate 实现自定义查询的最佳方法是什么?
【问题讨论】:
标签: spring mongodb spring-boot repository
使用 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)
【讨论】:
注意在新版Springboot(v2.2.5)中,正确的方法是sort.by()。 像这样:
Query query = new Query().addCriteria(find).with(Sort.by(Sort.Direction.DESC, "reportDate"));
【讨论】: