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;
相关推荐
深念Y2 小时前
图数据库 vs 向量数据库:AI时代的两个“最强大脑”
数据库·人工智能·neo4j·图论··向量·rag
2301_782659182 小时前
SQL视图能否用于数据仓库模型_雪花模型与视图构建
jvm·数据库·python
m0_377618232 小时前
CSS如何让文字超出两行显示省略号_使用line-clamp属性限制
jvm·数据库·python
m0_743623922 小时前
HTML5中LocalStorage存储用户自定义快捷键配置
jvm·数据库·python
2301_773553622 小时前
HTML5中SharedWorker生命周期与浏览器进程关闭的关系
jvm·数据库·python
m0_640309302 小时前
mysql flush privileges有什么作用_mysql权限生效机制解析
jvm·数据库·python
2401_897190552 小时前
mysql备份期间如何监控系统负载_使用iostat与top命令
jvm·数据库·python
2301_796588502 小时前
SQL批量删除不同条件的记录_使用IN子句简化删除逻辑
jvm·数据库·python
m0_684501982 小时前
Golang如何解析嵌套JSON_Golang嵌套JSON解析教程【简明】
jvm·数据库·python
2301_814809862 小时前
防止SQL注入的运维实践_实时清理数据库缓存与历史记录.txt
jvm·数据库·python