咱们已经学过MongoDB的 find() 查询功能了,在关系型数据库中的选取(limit),排序(sort) MongoDB中一样有,并且使用起来更是简单数据库
首先咱们看下添加几条Document进来学习
如今有四条Document 根据它们, 对 Limit Skip Sort 分别展开学习 最后来一个 大杂烩3d
1. Limit 选取 : 我要从这些 Document 中取出多少个blog
作个小例子 : 我只要 2 条 Document排序
结果是很明显的,很赤裸裸的,很一丝不挂的ip
可是我仍是要解释一下 : limit(2) 就是选取两条Document, 从整个Collection的第一条 Document 开始选取两条it
若是咱们不想从第一条Document开始选取,怎么办呢?io
2.Skip 跳过 : 我要跳过多少个Documentim
作个小例子 : 我要跳过前两个 Document 直接从第三个Document 开始d3
结果仍是很明显,很赤裸
按照国际惯例解释一下 : skip(2) 就是跳过两条Document, 从整个Collection 的第一条 Document 开始跳,日后跳两条
另外一个例子 : 跳过第一条 直接从 第二条 开始
问题来了,我只想要第二条和第三条怎么处理呢?
3.Limit + Skip : 从这儿到那儿 的 选取
就是刚才的问题,一个小例子 : 我只想要第二条和第三条怎么处理呢
国际惯例 : 跳过第一条Document 从第二条开始选取两条 Document
别着急,还有另外一种写法
两种写法彻底获得的结果彻底同样可是国际惯例的解释却不一样
国际惯例 : 选取两条Document 可是要 跳过 第一条Document 从 第二条 开始 选取
绕了半天,都晕了,注意这里特别要注意了!!!!!! 这里的两种写法,必定必定必定要记住一个,由于只要记住一个就好了,彻底彻底没区别,一个符合中国人的理解,一个是其余国家的理解
4. Sort 排序 : 将结果按照关键字排序
作个小例子 : 将find出来的Document 按照 price 进行 升序 | 降序 排列
国际惯例 : 按照 price 字段进行升序 , 1 为升序 , -1 为降序
5. Limit + Skip + Sort 混搭来一把
一个例子 : 选取第二条第三条 并 按照 price 进行 升序排列
问题出现了, 按道理不该该是 9800 而后 19800 吗?
知识点来喽
重点 : Sort + Skip + Limit 是有执行优先级的 他们的界别分别是 优先 Sort 其次 Skip 最后 Limt
Skip + Limit 的优先级 也是先 Skip 再 Limit
看一次,记不住
看两次,不会用
看三次,不如本身作一次
作一次,不如作三次
练习一下加深印象