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

Spring Mongo分页与MongoRepository排序

子车安和
2023-03-14

文档结构-消息{obj_id,post_id,message_time,message_text}和@key是obj_id。

问题声明:我只想要fetch all the data包含post_id:'anything'并基于message_time进行排序,并且每次都想在结果中进行自定义分页。现在,我正在根据以下链接实现代码:https://stackoverflow.com/a/10077534/9901300。但我找不到我应该在哪里给不同的post_id每次搜索结果。

请看下面的代码。

public interface MessageMongoRepository extends 
MongoRepository<Message, String> {

@Query("{ 'post_id' : ?0 }")
Page<Message> findByPostIdSorted(Pageable pageable);
}

服务:

@Override
public List<Message> getByPostId(String PostId, int page, int size) {
    List<Message> messages = new ArrayList<>();
    @SuppressWarnings("deprecation")
    PageRequest request = new PageRequest(page, size, new Sort(Sort.Direction.DESC, "message_time"));
    messages = messageRepository.findByPostIdSorted(request).getContent();
    return messages;
}

共有1个答案

高锦
2023-03-14

我想这就是你要找的:

存储库:

@Query("{ 'post_id' : ?0 }")
Page<Message> findByPostId(String postId, Pageable pageable);

服务

messages = messageRepository.findByPostId(postId, request).getContent();

您可以将postId传递给存储库中定义的方法

 类似资料:
  • 有时,客户端希望 RESTful Web API 提供经过排序后的字段,比如,按照年龄从大到小排列学生;有时,根据客户端条件,需要返回给前端的数据过多,如果一次提供,会大大降低响应速度。此时,可将数据做分割,分成不同的小份,发送给客户端。这一节,我们为大家介绍 RESTful Web API 如何实现数据的排序与分页。 1.排序的使用 在类视图中设置 filter_backends,使用rest_

  • 我在Spring MongoRepository上有一个简单的分页请求,但MongoRepository显然在某个任意的高页面#之后开始发送不正确的结果。我在这里发帖是想知道我是否遗漏了什么,或者这可能是Spring MongoRepository的一个bug。 在我的测试中,我的测试mongo db中有14个元素,下面的分页请求工作良好(如果数据在那里,则检索数据):但是下面的PageReque

  • 我正在尝试在spring MVC中实现分页和排序。根据我的理解,我们可以使用PagingAndSortingRepository或JpaRepository(http://springinpractice.com/2012/05/11/pagination-and-sorting-with-spring-data-jpa)。 但这两种方法都使用默认的findAll方法来执行此操作。 我希望创建我自

  • 问题内容: 显示标签提供给定对象的分页功能。Hibernates提供了仅提取每页所需记录的选项。在我的项目中,我们同时使用了这两个概念。 显示广告代码:我需要根据过滤条件提取所有记录并将其存储在会话中。然后这个displaytag将负责所有分页和排序。因此Httpsession拥有很多数据。 hibernate:它仅从数据库中获取请求的对象数,无需为每个请求打开会话。 最好的做事方法是什么?或者如

  • 本文向大家介绍SpringBoot2 实现JPA分页和排序分页的案例,包括了SpringBoot2 实现JPA分页和排序分页的案例的使用技巧和注意事项,需要的朋友参考一下 分页 application.yml 实体类 Repository接口类 service 接口类 Service 实现类 Controller控制器类 分页显示的json格式串 http://localhost:8080/emp