MongoDB的skip,limit,sort执行顺序---先sort,后skip再limit, 跟写的顺序无关

来源:互联网 发布:linux exit 头文件 编辑:程序博客网 时间:2024/06/07 03:48

所有数据都是不一样的。

先看 skip和limit, 当两者一起使用的时候, 不管其位置顺序,默认先skip,再limit。

如下图:


再看sort ,【6】语句,我的数据已经排序。之后三条数据无论怎么变换都是一样的排序结果。(这里未列出所有可能。将skip和limit位置变化后跟sort组合,但是结果仍然相同)

由结果可以得出,当sort,skip,limit一起使用时,无论其位置变化,总是先sort再skip,最后limit。


但是我想要先跳过,再限制条数 最后才排序怎么办?

可以用aggregate, aggregate有管道流的性质,$skip,$limit,$sort执行顺序跟位置一致。



位置决定执行顺序。




聚合管道的优化:

http://docs.mongoing.com/manual-zh/core/aggregation-pipeline-optimization.html#agg-sort-skip-limit-sequence


0
0