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;
相关推荐
这个DBA有点耶13 分钟前
分布式数据库的“分片键”设计:选错可能让性能倒退10倍
数据库·分布式
运维行者_19 分钟前
使用Applications Manager监控的关键MongoDB指标
服务器·开发语言·网络·数据库·mongodb·机器学习·云计算
一支黑色の铅笔22 分钟前
MongoDB Aggregation Pipeline 常用 Stage 速查
数据库·算法·mongodb
霖霖总总33 分钟前
[MongoDB小技巧02] 掌握 MongoDB 基础:容器化部署、默认配置与 mongosh 核心命令全解析
数据库·mongodb
2501_9151063242 分钟前
深入解析HTTPS抓包原理、中间人攻击及反抓包技术攻防
数据库·网络协议·ios·小程序·https·uni-app·iphone
迷枫71244 分钟前
DM8 数据共享集群 DSC 学习总结:共享存储、集群组件与常见误区
数据库·学习
rising start1 小时前
Redis基础入门
数据库·redis·缓存
码不停蹄的玄黓1 小时前
MySQL索引类型
数据库·mysql
有想法的py工程师1 小时前
PostgreSQL 设置唯一主键的生产事故复盘与最佳实践
数据库·oracle
或与且与或非1 小时前
postgresql+rabbitmq集群搭建方案
数据库·postgresql·rabbitmq