我有一个关于使用mongodb和mongoengine进行分页的问题。 我有一张桌子,将来会有数百万张唱片。我这样做分页。
我不确定这是正确的方法
list = Books.objects.all()
paginator = DiggPaginator(list, 20, body = 10, tail = 2)
这里我打开整个表格,然后进行分页,然后我们再次进行下一页代码运行并带来第二页或任何页面。
这是正确的方法还是有更好的方法来做到这一点。
答案 0 :(得分:19)
您可以使用QuerySet中的skip
和limit
来实现分页。
例如,如果要显示第二页,每页限制为10个项目,您可以这样做:
page_nb = 2
items_per_page = 10
offset = (page_nb - 1) * items_per_page
list = Books.objects.skip( offset ).limit( items_per_page )
答案 1 :(得分:1)
flask-mongoengine插件有一个paginator示例,您可以根据digg分页符进行调整。