gpt4 book ai didi

node.js - Mongoose :如何实现分页?

转载 作者:可可西里 更新时间:2023-11-01 10:27:44 25 4
gpt4 key购买 nike

我找不到关于此的任何信息。显然,要获取下一页,您需要使用 .skip 和 .limit,但我如何才能知道是否有下一页?基本上是计算 has_next_page (boolean)

在原始 mongo 中,您可以执行 cursor.hasNext() 以查看是否有另一个页面。

我只能想到两种用 Mongoose 做的方法:

  1. .limit(pageSize + 1)

    然后只返回 pageSize 结果,但使用最后一个判断是否有其他结果。

  2. .count()

    获取查询的计数并查看它是否大于 pageNum * pageSize

第一个看起来很老套,第二个看起来很低效(计数很昂贵,对吧?),没有更好的方法吗?

最佳答案

如果你不想显示页数,你的第一个解决方案是可以的,但如果你想获得页数,你需要获得计数 numberOfPages = count/numberPerPage 所以你将运行count() 在开始时至少一次,所以你查询“或者更多,如果你想在用户使用分页数据时更新此信息{为了简单起见,我会忽略它,如果它对你很重要,请在这里评论并让我们讨论它} ".

所以第一个查询将在这里花费一些时间,这里有一个关于 MongoDB 上关于计数性能的问题的链接,告诉他们他们对此方法进行了改进 https://jira.mongodb.org/browse/SERVER-1752 .

关于node.js - Mongoose :如何实现分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32057915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com