Spring 用于从文件中查找最大值的MongoTemplate方法或查询

Spring 用于从文件中查找最大值的MongoTemplate方法或查询,spring,mongodb,Spring,Mongodb,我正在使用MongoTemplate进行数据库操作。现在我想从所选结果中获取最大字段值。有人可以指导我如何编写查询,以便当我将查询传递给find方法时,它将返回所需的文档最大字段。提前谢谢 关于您可以在spring data mongodb中找到“具有最大字段值的对象”。如果排序字段(或@Id字段)被索引,Mongo将优化排序/限制组合。否则它仍然很好,因为它将使用top-k算法并避免全局排序(.这是从,但我首先进行排序,并将限制设置为1秒 Query query = new Query();

我正在使用MongoTemplate进行数据库操作。现在我想从所选结果中获取最大字段值。有人可以指导我如何编写查询,以便当我将查询传递给find方法时,它将返回所需的文档最大字段。提前谢谢 关于

您可以在spring data mongodb中找到“具有最大字段值的对象”。如果排序字段(或@Id字段)被索引,Mongo将优化排序/限制组合。否则它仍然很好,因为它将使用top-k算法并避免全局排序(.这是从,但我首先进行排序,并将限制设置为1秒

Query query = new Query();
query.with(new Sort(Sort.Direction.DESC, "idField"));
query.limit(1);
MyObject maxObject = mongoTemplate.findOne(query, MyObject.class);

“最大字段值”。.意思是?可能粘贴一些代码,以便更清楚地了解您需要什么。以下是完整的代码…public T findMaximumFields(c类,字符串字段){T maxFieldDocs=null;Query Query=new Query();Query.with(new Sort(Sort.Direction.DESC,field)).limit(1);maxFieldDocs=(T)mongoTemplate.findOne(query,c);return maxFieldDocs;}public T findMinimumFields(Class c,String field){T minFieldDocs=null;query query=new query();query.with(new Sort(Sort.Direction.ASC,field)).limit(1);minFieldDocs=(T)mongoTemplate.findOne(query,c);return minFieldDocs;}某些版本可以是:query.with(Sort.by(Sort.Direction.DESC,“idField”);