Spring mongo 存储库:查找前 n 个项目
Spring mongo repository: find top n items
我有一个 spring 后端 mongodb。我想查询数据库以获取框内的 'n' 个 POI(兴趣点)。此查询工作正常
poisRepository.findTop10ByLocationWithin(box);
但我想把它扩展成这样:
poisRepository.findTopXByLocationWithin(10, box);
我在文档中找不到如何执行此操作。除了获取所有结果并通过代码过滤它们之外,还有其他方法可以做到这一点吗?
我使用 @Query from spring and $box mongo query
找到了答案
在我的实现中,我最终使用了以下方法,带有分页
Pageable pageRequest = new PageRequest(page, pageSize);
Page<Poi> poisPage = poisRepository.findByLocationWithin(box, pageRequest);
List<Poi> pois = poisPage.getContent();
因此,如果我需要前 20 个 pois,我将 20 作为 pageSize 传递,依此类推。希望对你有帮助。
我有一个 spring 后端 mongodb。我想查询数据库以获取框内的 'n' 个 POI(兴趣点)。此查询工作正常
poisRepository.findTop10ByLocationWithin(box);
但我想把它扩展成这样:
poisRepository.findTopXByLocationWithin(10, box);
我在文档中找不到如何执行此操作。除了获取所有结果并通过代码过滤它们之外,还有其他方法可以做到这一点吗?
我使用 @Query from spring and $box mongo query
找到了答案在我的实现中,我最终使用了以下方法,带有分页
Pageable pageRequest = new PageRequest(page, pageSize);
Page<Poi> poisPage = poisRepository.findByLocationWithin(box, pageRequest);
List<Poi> pois = poisPage.getContent();
因此,如果我需要前 20 个 pois,我将 20 作为 pageSize 传递,依此类推。希望对你有帮助。