我有一个包含News的集合。按时间排序,客户端要在指定文档的后面查找文档,例如,我有100条新闻,客户端给服务器newsId:(ObjectId(“ 5cfb2cf0b09cc3001152a909”),可能是73位),客户端希望服务器在此newsId(位置为74〜83)后面返回10条新闻,该怎么办?不是“可分页”,客户端没有页面概念,由上一个newsId刷新或加载。 谢谢。
根据Mongo DB: Get all documents inserted after the last known one,我使用以下代码:
//ArticleRepository
@Query(value = "{$and:[{'related':{$in:?0}},{'_id':{$lte:?1}}]}")
List<Article> loadNews(List<String> coinIds, ObjectId lastId, Pageable pageable);
//Model
List<Article> articles = articleRepository.loadNews(list,new ObjectId(lastId),new PageRequest(0, 7, new Sort(Sort.Direction.DESC, "_id")));
此代码将找到插入在lastId文档后面的文档。