首先在数据库里面添加了10条如下结构的测试数据,其中age
字段的值从0依次递增。
当同时使用skip和limit的时候
从上面两幅图中可以看到,同时使用skip
和limit
的时候,不管如何调用,默认都是先进行skip
操作,然后再limit
。
当skip,limit和sort同时存在的时候
可以看到,先是对所有数据按age
倒序进行了一次排列,然后再执行skip
操作,最后limit
操作。
使用管道控制skip,limit和sort的执行顺序
从执行的结果来看,先是执行了skip
,跳过了3条数据,然后limit
,从age=3
开始,取了3条数据,最后执行了sort
进行排序。
从执行的结果来看,先执行limit
,选取了前三条数据。然后跳过了3条记录。此时相当于已经没有了数据,在进行排序,结果就是空的。
从执行的结果来看,先执行sort
,对age
按正序排序。然后执行limit
,选取了前三条。最后又跳过了3条记录,那么就会获得空记录。
因此: 当你使用管道来执行skip
,limit
和sort
操作时,它们的位置决定了它们的执行顺序。