码迷,mamicode.com
首页 > 数据库 > 详细

7,MongoDB 之 Limit 选取 Skip 跳过 Sort 排序

时间:2019-01-16 21:51:53      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:中国人   bubuko   开始   alt   tle   中国   三次   查询   图片   

我们已经学过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

 

看一次,记不住

看两次,不会用

看三次,不如自己做一次

做一次,不如做三次

 

练习一下加深印象

 

7,MongoDB 之 Limit 选取 Skip 跳过 Sort 排序

标签:中国人   bubuko   开始   alt   tle   中国   三次   查询   图片   

原文地址:https://www.cnblogs.com/feifeifeisir/p/10279347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!