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;
相关推荐
hanbr7 分钟前
Qt:事件处理与绘图详解
开发语言·数据库·qt
weixin_444012938 分钟前
Go语言怎么防SQL注入_Go语言SQL注入防护教程【深入】
jvm·数据库·python
爱编程的小新☆10 分钟前
Langchain4j对话记忆
数据库·缓存·持久化存储·langchain4j
m0_4708576411 分钟前
C#怎么实现蓝牙设备搜索_C#如何开发Bluetooth应用【指南】
jvm·数据库·python
曦夜日长13 分钟前
Linux系统篇,开发工具(三):文件翻译的思路重构、库的深入理解、文件链接时区别与细节
linux·数据库·重构
2303_8212873818 分钟前
在 Go 中声明包级全局 Map 的正确方法
jvm·数据库·python
老纪24 分钟前
CSS移动端如何实现平滑滚动效果_设置scroll-behavior smooth属性.txt
jvm·数据库·python
johnny23324 分钟前
数据库客户端:PRQL、rainfrog、WhoDB、GoNavi、Dory、FXDB
数据库
anew___27 分钟前
SQL实战复盘:如何优雅地抛弃 JOIN 关键字?
数据库
2303_8212873827 分钟前
mysql数据量过亿时索引如何优化_mysql分库分表索引设计
jvm·数据库·python