Quiero poner esta consulta con la anotación @Query en mi repositorio.
Esta es la consulta:
`db.report.find({'company' : 'Random'}).sort( { 'reportDate' : -1} ).limit(1)`¿Cuál es la mejor manera de implementar consultas personalizadas con anotaciones @Query o usar MongoTemplate?
Usando la plantilla de 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");Uso del repositorio de Mongo
Report findTopByCompanyOrderByReportDateDesc(String company)Tenga en cuenta que en la nueva versión de Springboot (v2.2.5), el método correcto es sort.by(). Me gusta esto:
Query query = new Query().addCriteria(find).with(Sort.by(Sort.Direction.DESC, "reportDate"));