如何使用mongoengine进行分页?

use*_*550 6 django pagination mongodb mongoengine

我有一个关于使用mongodb和mongoengine进行分页的问题.我有一张桌子,将来会有数百万张唱片.而我正在做这样的分页.

我不确定这是正确的做法

    list = Books.objects.all()
    paginator = DiggPaginator(list, 20, body = 10, tail = 2)
Run Code Online (Sandbox Code Playgroud)

在这里,我打开整个表格,然后进行分页,我们再次进行下一页代码运行并带来第二页或任何页面.

这是正确的方法还是有更好的方法来做到这一点.

Eri*_*ric 19

您可以使用skip和limit从QuerySet中实现分页.
例如,如果要显示第二页,每页限制10个项目,您可以这样做:

page_nb = 2 
items_per_page = 10 

offset = (page_nb - 1) * items_per_page

list = Books.objects.skip( offset ).limit( items_per_page )
Run Code Online (Sandbox Code Playgroud)