2

ドキュメント構造 - message{obj_id,post_id,message_time,message_text}および @key はobj_idです。

問題文: post_id: ' any 'を含むすべてのデータを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;
}
4

1 に答える 1