我无法找到任何相关信息。显然,要获取下一页,您将要使用.skip和.limit,但如何确定是否有下一页?基本上是计算has_next_page (boolean)
。
在原始mongo中,您可以cursor.hasNext()
查看是否有另一页。
我只能想到用猫鼬做两种方法:
.limit(pageSize + 1)
然后仅返回pageSize
个结果,但使用最后一个结果
确定是否有其他结果。
.count()
获取查询的计数,看看它是否大于pageNum * pageSize
。
第一个似乎是hacky而第二个看起来非常低效(数量很贵,对吗?),有没有更好的方法来做到这一点?
答案 0 :(得分:2)
如果您不想显示页数,那么您的第一个解决方案就没问题,但如果您想获得页数numberOfPages = count/numberPerPage
,则需要获取计数,这样您至少会运行count()一旦开始,所以当用户使用分页数据时,如果您想要使用此信息进行更新,请查询"或更多信息{如果对您来说很重要,请忽略此信息,请在此处发表评论并让我们讨论} "
因此,第一个查询将需要一段时间在MongoDB上关于计数性能的问题链接,告知他们对此方法进行了改进https://jira.mongodb.org/browse/SERVER-1752。