使用跳过和限制可以进行如下的数据分页:
代码:
page1 = db.things.find()限制(20)。
第2页= db.things.find()。跳过(20)限制(20)。
第三页= db.things.find()。跳过(40)限制(20)。
注:可用于寻呼,限制大小和跳过N-1页* PageSize(n-1代表几个1,2…页面)跳过
显示了跳过多少数据,以及如何
优化聚合管道。
1美元
排序+跳过$ +限制的
顺序优化
如果在
执行管道聚合时依次出现排序、跳过和$限制,例如:
{排序:{年龄:1 } },
{ $跳过:10 },
{ $限制:5 }
实际执行的顺序是:
{排序:{年龄:1 } },
{ $限制:15 },
{ $跳过:10 }
$限额将提前到$跳过时间。
此时,在优化之前$ $ =优化$跳过+优化之前限制
做这件事有两个好处:
1。在通过$限制管道后,将提前减少管道中的
文档数,节省
内存,提高内存利用效率。
当$ 2限制是提前,$排序接近$限制,当你做排序,它停止时,它的第一个$极限
文件。
当数据量很小,使寻呼是绝对没有问题,但当数据量大,跳过
操作将是缓慢的,应该避免。 U3000 U3000
(以上mondb,大部分数据。)分页效果可以通过改变
查询文档的规则来避免使用跳过大量数据的实现。
(通过计算,获得下一个查询应该从何处开始)