当前位置: 首页 > 知识库问答 >
问题:

用mongoTemplate分页

丘友樵
2023-03-14

我对pageable有一个查询:

Query query = new Query().with(new PageRequests(page, size))

如何使用MongoTemplate执行它?我没有看到一个方法返回

共有1个答案

江渊
2023-03-14

确实,mongoTemplate没有findxxx带pageables。

但是您可以使用Spring存储库PageableExecutionUtils来实现这一点。

在您的示例中,它如下所示:

Pageable pageable = new PageRequests(page, size);
Query query = new Query().with(pageable);
List<XXX> list = mongoTemplate.find(query, XXX.class);
return PageableExecutionUtils.getPage(
                       list, 
                       pageable, 
                       () -> mongoTemplate.count(Query.of(query).limit(-1).skip(-1), XXX.class));
 类似资料:
  • 问题内容: 我有一个可分页查询: 如何使用MongoTemplate执行它?我看不到有单个方法返回。 问题答案: 没有返回的方法。该方法返回一个普通的。 在内部用于调整和与MongoDB查询配合使用(由我认为是计数查询进行) 可以与MongoDB存储库结合使用,这是Spring数据存储库的一种特殊情况。 因此,你将不得不使用的用于分页结果(从实际继承)。

  • 我是mongoDb中的一个noob,我需要为任何特定的集合实现分页,例如,比方说 我有一个集合Foo,我有一个函数从Foo集合返回所有记录 但是我需要通过实现分页从Foo获取记录,我如何使用mongoTemplate Spring data MongoDB来实现这一点呢?

  • 我想转换这个mongodb请求的一部分: 使用MongoTemplate(使用spring)中的aggregate方法。 你能帮帮我吗? 谢谢

  • 我正在尝试从MongoDB中的嵌入字段数组中移除一个项。数组是类似下面的字符串类型。

  • 我是Spring Boot和MongoDb的新手。尝试使用Mongo存储库和Spring Boot的一些示例。但在浏览了一些文档后发现,Mongo模板是一个更好的选择。无法使用Mongo模板示例获得正确的Spring Boot。 > 有人能帮我举个同样的例子吗? 在尝试Mongo模板时,我们是否需要创建用户定义的存储库界面并扩展存储库或CRUD存储库?

  • 我已经在Spring启动中配置了MongoDB连接。现在我想使用MongoTemplate search()方法运行自定义查询。但是Spring启动不允许我这样做。 mongoTemplate使用mongo URI自动配置,集合名称在UserVO中定义。使用@文档初始化。 错误:类型MongoOperations中的find(Query,Class)方法不适用于参数(String,Class) 如