MongoDB四 之 Limit 选取 Skip 跳过 Sort 排序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB四 之 Limit 选取 Skip 跳过 Sort 排序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2696字,纯文字阅读大概需要4分钟。
内容图文
在关系型数据库中的选取(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
练习题:
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
import pymongo mongo_client = pymongo.MongoClient(‘127.0.0.1:27017‘) db = mongo_client[‘gxy‘] STUDENT_LIST = [ {"username": "小黑", "age": 20, "gender": "男", "hobby": ["女孩", "王者荣耀"], "course": [{"name": "Python", "scour": 60}, {"name": "JavaScript", "scour": 59}]}, {"username": "小白", "age": 21, "gender": "女", "hobby": ["男孩", "王者荣耀"], "course": [{"name": "Python", "scour": 80}, {"name": "JavaScript", "scour": 99}]} ] # 小黑改为小帅帅 + 小白改为小漂漂 # db.python.update({‘username‘:‘小黑‘},{‘$set‘:{‘username‘:‘小帅帅‘}}) # db.python.update({‘username‘:‘小白‘},{‘$set‘:{‘username‘:‘小漂漂‘}})# 小帅帅,小漂漂,原有年龄+5岁 # db.python.update_one({‘username‘:‘小帅帅‘},{‘$inc‘:{‘age‘:5}}) # db.python.update_one({‘username‘:‘小漂漂‘},{‘$inc‘:{‘age‘:5}})# 小帅帅的hobby + 吃鸡 # db.python.update_one({‘username‘:‘小帅帅‘},{‘$push‘:{‘hobby‘:‘吃鸡‘}})# 小漂漂的hobby + 奇迹暖暖 # db.python.update_one({‘username‘:‘小漂漂‘},{‘$push‘:{‘hobby‘:‘奇迹暖暖‘}})# 小帅帅和小漂漂 加入学科HTML 分数为 70 # db.python.update({‘username‘:‘小帅帅‘},{‘$push‘:{‘course‘:{‘name‘:‘html‘,‘scour‘:70}}}) # db.python.update({‘username‘:‘小漂漂‘},{‘$push‘:{‘course‘:{‘name‘:‘html‘,‘scour‘:70}}})# 查询爱好"女孩"的学生性别 # ret= db.python.find_one({‘hobby‘:‘女孩‘})[‘gender‘] # print(ret)# 查询爱好"奇迹暖暖"的学生名称 # ret = db.python.find_one({‘hobby‘:‘女孩‘})[‘username‘] # print(ret) # 小帅帅和小漂漂 谁有60分以下的课程 ret = db.python.find_one({‘course‘:[{‘scour‘:60}]}) print(ret) # 小帅帅和小漂漂 谁有80分以上的课程# 小帅帅和小漂漂 谁有60分以下的课程 并显示课程名 分数 姓名# 小帅帅和小漂漂 谁有80分以上的课程 并显示课程名 分数 姓名# 学科中加入comment : "优秀" ( <60 : 不及格, >=60 <80: 中 , >=80 <90: 良 , >=90 优)# db.python.remove({}) # db.python.insert(STUDENT_LIST) res = db.python.find() for i in res: print(i)
原文:https://www.cnblogs.com/guoxiaoyan/p/9403758.html
内容总结
以上是互联网集市为您收集整理的MongoDB四 之 Limit 选取 Skip 跳过 Sort 排序全部内容,希望文章能够帮你解决MongoDB四 之 Limit 选取 Skip 跳过 Sort 排序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。