MongoDB的skip,limit和sort的执行顺序

本文探讨了MongoDB中skip、limit和sort的执行顺序。实验结果显示,通常skip先于limit执行,而sort可以在skip和limit之前或之后。通过管道操作符,可以明确控制三者的执行顺序,例如先skip、再limit、最后sort。不同执行顺序对查询结果产生直接影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在数据库里面添加了10条如下结构的测试数据,其中age字段的值从0依次递增。
在这里插入图片描述

当同时使用skip和limit的时候

在这里插入图片描述
在这里插入图片描述
从上面两幅图中可以看到,同时使用skiplimit的时候,不管如何调用,默认都是先进行skip操作,然后再limit

当skip,limit和sort同时存在的时候

在这里插入图片描述
可以看到,先是对所有数据按age倒序进行了一次排列,然后再执行skip操作,最后limit操作。

使用管道控制skip,limit和sort的执行顺序

在这里插入图片描述
从执行的结果来看,先是执行了skip,跳过了3条数据,然后limit,从age=3开始,取了3条数据,最后执行了sort进行排序。
在这里插入图片描述
从执行的结果来看,先执行limit,选取了前三条数据。然后跳过了3条记录。此时相当于已经没有了数据,在进行排序,结果就是空的。
在这里插入图片描述
从执行的结果来看,先执行sort,对age按正序排序。然后执行limit,选取了前三条。最后又跳过了3条记录,那么就会获得空记录。

因此: 当你使用管道来执行skiplimitsort操作时,它们的位置决定了它们的执行顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值