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;
相关推荐
小CC吃豆子几秒前
Redis 缓存雪崩
数据库
雪花desu10 分钟前
深入 LangChain LCEL 的 10 个核心特性
数据库·人工智能·深度学习·langchain
沛沛老爹14 分钟前
Web开发者快速上手Advanced RAG:索引优化原理与实践
前端·数据库·advanced rag·深度优化·web转型ai
未来之窗软件服务28 分钟前
幽冥大陆(六十五) PHP6.x SSL 文字解密—东方仙盟古法结界
网络·数据库·ssl·加解密·仙盟创梦ide·东方仙盟
云边有个稻草人38 分钟前
金仓数据库MongoDB兼容:核心技术支撑国产化替代落地
数据库·mongodb·国产数据库·金仓数据库·kes
几度风雨见丹心39 分钟前
sqlite图形化界面建数据库、建表、增删改查、选择.db文件、将sql脚本一键导入,并同步数据、一键导出sql脚本并保存本地.sql文件
数据库·sql·sqlite
杰克尼44 分钟前
mysql_day03总结
数据库·mysql
qq_229058011 小时前
Django学习笔记
数据库·sqlite
TAEHENGV1 小时前
目标列表模块 Cordova 与 OpenHarmony 混合开发实战
服务器·数据库
思成不止于此1 小时前
【MySQL 零基础入门】事务精讲(三):隔离级别与实战总结
数据库·笔记·学习·mysql