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