我们已经学过MongoDB的 find() 查询功能了,在关系型数据库中的选取(limit),排序(sort) MongoDB中同样有,而且使用起来更是简单

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

现在有四条Document 根据它们, 对 Limit Skip Sort 分别展开学习 最后来一个 大杂烩

1. Limit 选取 : 我要从这些 Document 中取出多少个

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

结果是很明显的

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

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

2.Skip 跳过 : 我要跳过多少个Document

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

结果还是很明显

按照国际惯例解释一下 : 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

 
 
 

最新文章

  1. Java:Double Brace Initialization
  2. 设计模式之单例模式——Singleton
  3. Ibatis的环境搭建以及遇到的问题解决
  4. Tuple元祖
  5. ajax提交后台自动反序列化成对象
  6. JSON使用——获取网页返回结果是Json的代码
  7. hdu 4039 暴力
  8. How to steal any developer's local database
  9. IIViewDeckController的使用,左右拖拉菜单效果实现
  10. python之正则表达式备忘
  11. 剑指offer-面试题8.旋转数组的最小数字
  12. eclipse config 3 构造pydev
  13. Android开发ListView使用OnScrollListener实现分页加载数据
  14. sql 行转列 PIVOT 列转行 UNPIVOT
  15. C#对话框的使用
  16. 数据库索引的数据结构b+树
  17. 数据挖掘---Numpy的学习
  18. python笔记14-三元运算符
  19. Python全栈开发-有趣的小程序
  20. Using promises

热门文章

  1. 添加并发请求PDF到工作流附件
  2. Android - 看似内存泄漏,实则不是,记一次内存泄漏的案例分析
  3. 03、IDEA下Spark API编程
  4. Verilog三线 - 八线译码器
  5. 关于vim、nvim的折腾
  6. Android(java)学习笔记97:使用GridView以及重写BaseAdapter
  7. HDU(1016),打素数环
  8. Adobe CS2提供免费序列号
  9. rnn,cnn
  10. java基础必备单词讲解 day five