MongoDB limit 选取 skip跳过 sort排序 方法
MongoDB limit 选取 skip跳过 sort排序
在mysql里有order by MongoDB用sort代替order by
> db.user.find() { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 } { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] } { "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 } { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" }
Limit 选取 :
我要从这些 Document 中取出多少个
选取2条Document
> db.user.find().limit(2) { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" }
从整个collection集合的第一条数据Document开始选取两条
Skip 跳过 :
我要跳过多少个Document
我要跳过前两个 Document 直接从第三个Document 开始
> db.user.find().skip(2) { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 } { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] } { "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 } { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" }
skip(2) 就是跳过两条Document,从整个collection集合第一条数据Document开始跳过
Limit + Skip :
我只想要第二条和第三条
> db.user.find() { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 } { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] } { "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 } { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" } > > db.user.find().skip(1).limit(2) { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 }
跳过第一条数据,从第二条数据开始选取2条数据Document
反过来顺序是一样的
> db.user.find().limit(2).skip(1) { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 }
选取两条数据,但要跳过第一条数据,从第二条数据开始选取
Sort 排序 : 将结果按照关键字排序
sort写法 {} 里面根据什么Field进行排序
1 为升序 , -1 为降序
db.user.find().sort({ sortField:-1 })
将find出来的Document 按照 age 进行 升序 | 降序 排列
升序
> db.user.find().sort({"age":1}) { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 } { "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 } { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] } { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" }
降序
> db.user.find().sort({"age":-1}) { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] } { "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 } { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 }
Limit + Skip + Sort 混搭:
选取第二条第三条第四条 并 按照 age 进行 降序排列
> db.user.find().skip(1).limit(3).sort({age:-1}) { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" } { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] }
转载于:https://www.cnblogs.com/mingerlcm/p/10698074.html
MongoDB limit 选取 skip跳过 sort排序 方法相关推荐
- Array数组对象sort排序方法
数组sort排序方法 Array数组对象中的sort方法是根据数组中数组元素的字符编码进行排序的,所以对数字的排序,会跟想要的升序结果不一样 通过设置sort()方法的参数可以按照自定义的排序方式对数 ...
- 关于sort( )排序方法的兼容性问题
测试人员昨天测出360浏览器下有个页面显示不全,在别的浏览器下没有问题,从而猜想是兼容性问题,回想该页面改动过的地方只是加了一个 sort 排序方法,查资料得知 sort在不同浏览器下的结果和写法是不 ...
- MongoDB Limit与Skip方法
MongoDB Limit() 方法 在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数. ...
- c#sort升序还是降序_c# List的sort排序方法详解
诸如List<T>等泛型集合类,直接提供了sort()方法用于将集合中的元素进行排序. 但是,其前提是集合中存放的是可直接排序的基本类型,如List<int& ...
- java sort类_JAVA Collections工具类sort()排序方法
主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static > void sort ...
- sort函数用法使用lambda表达式自定义sort排序方法
1 sort函数包含在头文件为#include<algorithm>的c++标准库中. 2 sort函数有三个参数,排序起始地址,结束地址, 排序方法(默认参数,可以不写,默认是从小到大) ...
- linux sort命令 排序,Linux sort排序方法
在文件的操作过程中,因为文件过多,往往需要进行一下排序,排序方法也就是从小到大排序或者从大到小排序.比如我们从nginx日志中需要找到访问量最长的url,那就需要对请求时间进行一个排序,根据请求时间长 ...
- python sort是什么排序_python的sort()排序方法
很多时候我们的需要排序,例如下面这个情况: l = [[2, 3], [6, 7], [3, 34], [24, 64], [1, 43]] 可能我们需要按按照没个元素的第一个数值的大小进行排序 如果 ...
- 数组sort排序方法,数字从小到大排序,汉字拼音音序排序
1.直接用默认的sort方法,是按照Unicode排序,可能存在问题 例如:110,11,12=>11,110,12 (110会在12前面) 2.重写数组的sort方法进行数字排序: arr.s ...
最新文章
- Docker swarm集群详解(一)
- java 编写小工具 尝试 学习(四)
- 开展网络营销推广能为企业网站带来怎样的网络营销推广优势?
- 【转】iOS开发24:使用SQLite3存储和读取数据
- 使用mysql做saas_一种SaaS企业平台数据库系统及其连接方法与流程
- java——对象学习笔记
- 浅层学习与深层学习_深层副本与浅层副本-以及如何在Swift中使用它们
- Python私有化与poperty方法
- html 最新计算倒计时,javascript实时计算时间倒计时
- PSQL容器带脚本初始化
- 领域搜索算法java_多起点的局部搜索算法(multi-start local search)解决TSP问题(附Java代码及注释)...
- 2019国内高端智能云呼叫中心系统,让简单的工作变得更有值得
- 无需依赖Adobe Acrobat,在Java中进行PDF格式转换全新攻略
- 【无标题】安装 Debian 11 Bullseye – 一步一步的截图
- mib browser使用
- c51语言串口,C51 语言编程:单片机与 PC 串口通信程序
- 基于MATLAB的数字信号处理(5) FIR数字滤波器设计及软件实现
- Linux误删文件恢复
- 中科红旗开始新一轮招聘,服务器、桌面研发工程师、测试工程师
- 墨天轮国产数据库沙龙 | 四维纵横姚延栋 :MatrixDB,All-in-One高性能时序数据库
热门文章
- V4L2用户空间和kernel层driver的交互过程
- ubuntu 12.04 eclipse 安装
- Python3 —— 变量和简单数据类型
- 计算机安全可靠替代工程,基于安全可靠软硬件的党政军OA系统的整系统优化方法与研究-计算机技术专业论文.docx...
- 包与模块管理及面向对象初步
- python多继承_python作用域和多继承
- Vue3 Composition API(三)——生命周期钩子、Provide函数 和 Inject函数、封装Hook案例、setup顶层编写方式
- LeetCode 1833. 雪糕的最大数量(贪心)
- LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)
- 程序员面试金典 - 面试题 05.03. 翻转数位(位运算)