Структура документа — message{obj_id,post_id,message_time,message_text} и @key — obj_id.
Постановка проблемы: я просто хочу, чтобы все данные, содержащие post_id: 'что угодно', сортировались на основе 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;
}