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;
相关推荐
数据知道11 分钟前
PostgreSQL:详解 PostGIS 地理信息数据处理
数据库·postgresql
小草儿79913 分钟前
pg18权限篇章
数据库
剑之所向20 分钟前
Mysql参数化
数据库·mysql·oracle
_千思_23 分钟前
【小白说】数据库系统概念 3
数据库
海兰40 分钟前
elasticsearch学习之基本概念-向量数据库
数据库·学习·elasticsearch
014-code1 小时前
Spring Boot 集成 Neo4j 图数据库实战教程
java·数据库·neo4j
大鹏说大话1 小时前
深入理解 MySQL 查询语句的执行顺序与函数调用机制
数据库·mysql
SQL必知必会1 小时前
精通递归 CTE:SQL 的盗梦空间
数据库·sql
知识分享小能手2 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019 游标 — 语法知识点及使用方法详解(14)
数据库·学习·sqlserver
青春:一叶知秋2 小时前
【Redis存储】Redis客户端
java·数据库·redis