MongoDB的skip,limit,sort执行顺序
先sort再skip,最后limit
所有数据都是不一样的。
先看 skip和limit, 当两者一起使用的时候, 不管其位置顺序,默认先skip,再limit。
如下图:
再看sort ,【6】语句,我的数据已经排序。之后三条数据无论怎么变换都是一样的排序结果。(这里未列出所有可能。将skip和limit位置变化后跟sort组合,但是结果仍然相同)
由结果可以得出,当sort,skip,limit一起使用时,无论其位置变化,总是先sort再skip,最后limit。
但是我想要先跳过,再限制条数 最后才排序怎么办?
可以用aggregate, aggregate有管道流的性质,$skip,$limit,$sort执行顺序跟位置一致。
位置决定执行顺序。
聚合管道的优化: