Mongo 分页判断是否有下一页

一、遇到的问题

Mongo查询列表,limit=15,代码里是直接取了15条,分页判断是否有下一页是根据返回的15条和limit=15判断的,这就导致数据库里正好有15条时,返回的15条和limit=15判断,isCompleted是false,返回的是还有下一页,其实正好15条是没有下一页的。

二、解决

考虑到性能,不想要再单独查一次数据库的总条数;

最后使用的方案是:

一页是limit=15,查询时直接查询limit+1条,返回数据时再把多查的那一条数据slice截取掉,这样返回的依旧是15条,判断是有还有下一页时便可以通过limit+1条来判断是否有下一页,完美的解决了是否有下一页和性能问题。

php 复制代码
$result = $data->getList($fromAccount,$toAccount,$nextid,$tempLimit,$sliceTime);
$tempResuleLen = sizeof($result);
if($result){
	$result = array_slice($result,0,$limit);
	krsort($result);//倒序
	$result = array_values($result);

}
$return['list'] = $result;
$return['isCompleted'] = $tempResuleLen <= $limit ? true : false;
相关推荐
xiaoxiangsiyan1 分钟前
LNMP + Redis Sentinel 高可用架构部署手册(续)
运维·网络·数据库·redis·缓存·架构·sentinel
刘婉晴5 分钟前
【Web漏洞】SQL 注入实战技巧
前端·数据库·sql
CodeHackerBhx37 分钟前
Spring Boot 4 防重复提交:从接口幂等到 Redis 分布式锁的完整实践
java·数据库·spring boot·redis·分布式
xlxxy_1 小时前
外部系统调用SAP接口遇到的一些报错
开发语言·数据库·sap·abap
麦聪聊数据1 小时前
连锁零售全域数据管控(下):API 化服务输出,释放全域数据业务价值
数据库
奇树谦1 小时前
NAS + 对象存储 + LMDB/HDF5:海量小文件存储最佳实践
数据库
观远数据2 小时前
决策闭环的第三公里:从洞察到行动之间,AI能补上什么
大数据·数据库·人工智能
满昕欢喜2 小时前
2.4 本地服务器组和中央管理服务器
数据库·sqlserver
空堂与归3 小时前
Python 操作 MySQL 与 Redis:AI 应用的数据读写双引擎
数据库
2401_873479403 小时前
IPv6查出来的地理位置是错的?用双栈IP库解决定位偏差问题
网络·数据库·tcp/ip·ip