MongoDB 之 Limit 选取 Skip 跳过 Sort 排序

 

 

1.插入数据

首先我们看下添加几条Document进来

db.table1.insertMany(
    [
        {name:1,age:1},
        {name:2,age:1},
        {name:3,age:1},
        {name:4,age:1},
        {name:5,age:1},
        {name:6,age:1},
        {name:7,age:1},
        {name:8,age:1},
        {name:9,age:1},
        {name:10,age:1},
        ])

1. Limit 选取

要从这些 Document 中取出多少个 

做个小例子 : 我只要 4 条 Document

结果是很明显的,很赤裸裸的

 

但是我还是要解释一下 : limit(4) 就是选取四条Document, 从整个Collection的第一条 Document 开始选取两条

如果我们不想从第一条Document开始选取,怎么办呢?

2.Skip 跳过

我要跳过多少个Document

 做个小例子 : 我要跳过前五个 Document 直接从第六个Document 开始

结果还是很明显,很赤裸

按照国际惯例解释一下 : skip(5) 就是跳过五条Document, 从整个Collection 的第一条 Document 开始跳,往后跳五条

另一个例子 : 跳过第一条 直接从 第二条 开始

3.Limit + Skip :

从这儿到那儿 的 选取

跳五条再选两条

还有另一种写法

 

两种写法完全得到的结果完全一样但是国际惯例的解释却不同

选取两条Document 但是要 跳过 第第五条Document 从 第六条 开始 选取

 4. Sort 排序

将结果按照关键字排序

将find出来的Document 按照 price 进行 升序 | 降序 排列

 

 按照 price 字段进行升序 , 1 为升序 , -1 为降序     没有搜到结果按最小处理

 5. Limit + Skip + Sort

不应该是先跳在选取,最后排序吗?

重点 : Sort + Skip + Limit 是有执行优先级的 他们的界别分别是 优先 Sort  其次 Skip 最后 Limt

 Skip + Limit 的优先级 也是先 Skip 再 Limit

 

posted @ 2018-12-25 21:23  洛丶丶丶  阅读(250)  评论(0)    收藏  举报