mongodb sort limit和skip用法
> db.mediaCollection.find().skip().toArray()
[
{
"_id" : ObjectId("5353463193efef02c962da73"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind",
"Tracklist" : [
{
"Track" : "",
"Title" : "Smells like teen spirit",
"Length" : "5:02"
},
{
"Track" : "",
"Title" : "In Bloom",
"Length" : "4:15"
}
]
}
]
检索数据可以使用sort()方法来对数据进行排序,指定排序字段,并使用1或-1来指定排序方式是升序或降序。类似于SQL语句中的order by语句。
可以使用limit()方法来读取指定数量的数据,还可以使用skip()方法来跳过指定数量的数据。对分页性能上面效率非常高。
1. 语法
>db.COLLECTION_NAME.find().sort({KEY:1})
>db.COLLECTION_NAME.find().limit(NUMBER)
>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
2. sort()
> db.mediaCollection.find().sort({"Tracklist":}).toArray()
[
{
"_id" : ObjectId("5353462f93efef02c962da71"),
"Type" : "Book",
"Title" : "Definitive Guide to <a href="http://www.ttlsa.com/mongodb" title="mongodb"target="_blank">MongoDB</a>, the",
"ISBN" : "987-1-4302-3051-9",
"Publisher" : "Apress",
"Author" : [
"Membrey, Peter",
"Plugge, Eelco",
"Hawkins, Tim"
]
},
{
"_id" : ObjectId("5353462f93efef02c962da72"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind"
},
{
"_id" : ObjectId("5353463193efef02c962da73"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind",
"Tracklist" : [
{
"Track" : "",
"Title" : "Smells like teen spirit",
"Length" : "5:02"
},
{
"Track" : "",
"Title" : "In Bloom",
"Length" : "4:15"
}
]
}
]
> db.mediaCollection.find().toArray()
[
{
"_id" : ObjectId("5353462f93efef02c962da71"),
"Type" : "Book",
"Title" : "Definitive Guide to MongoDB, the",
"ISBN" : "987-1-4302-3051-9",
"Publisher" : "Apress",
"Author" : [
"Membrey, Peter",
"Plugge, Eelco",
"Hawkins, Tim"
]
},
{
"_id" : ObjectId("5353462f93efef02c962da72"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind"
},
{
"_id" : ObjectId("5353463193efef02c962da73"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind",
"Tracklist" : [
{
"Track" : "",
"Title" : "Smells like teen spirit",
"Length" : "5:02"
},
{
"Track" : "",
"Title" : "In Bloom",
"Length" : "4:15"
}
]
}
]
注意:如果指定的排序键不存在,那么数值将以它们插入的顺序升序返回。
3. limit()
该函数用来指定返回结果的最大数量。
> db.mediaCollection.find().limit().toArray()
[
{
"_id" : ObjectId("5353462f93efef02c962da71"),
"Type" : "Book",
"Title" : "Definitive Guide to MongoDB, the",
"ISBN" : "987-1-4302-3051-9",
"Publisher" : "Apress",
"Author" : [
"Membrey, Peter",
"Plugge, Eelco",
"Hawkins, Tim"
]
}
]
4. skip()
跳过前面两条数据。
> db.mediaCollection.find().skip().toArray()
[
{
"_id" : ObjectId("5353463193efef02c962da73"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind",
"Tracklist" : [
{
"Track" : "",
"Title" : "Smells like teen spirit",
"Length" : "5:02"
},
{
"Track" : "",
"Title" : "In Bloom",
"Length" : "4:15"
}
]
}
]
5. 组合使用
[
{
"_id" : ObjectId("5353462f93efef02c962da71"),
"Type" : "Book",
"Title" : "Definitive Guide to MongoDB, the",
"ISBN" : "987-1-4302-3051-9",
"Publisher" : "Apress",
"Author" : [
"Membrey, Peter",
"Plugge, Eelco",
"Hawkins, Tim"
]
},
{
"_id" : ObjectId("5353462f93efef02c962da72"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind"
},
{
"_id" : ObjectId("5353463193efef02c962da73"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind",
"Tracklist" : [
{
"Track" : "",
"Title" : "Smells like teen spirit",
"Length" : "5:02"
},
{
"Track" : "",
"Title" : "In Bloom",
"Length" : "4:15"
}
]
}
]
> db.mediaCollection.find().sort({"Tracklist":}).limit().skip().toArray()
[
{
"_id" : ObjectId("5353462f93efef02c962da72"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind"
}
]
6. 自然顺序$natural
> db.mediaCollection.find().sort( { $natural: - } ).toArray()
[
{
"_id" : ObjectId("5353463193efef02c962da73"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind",
"Tracklist" : [
{
"Track" : "",
"Title" : "Smells like teen spirit",
"Length" : "5:02"
},
{
"Track" : "",
"Title" : "In Bloom",
"Length" : "4:15"
}
]
},
{
"_id" : ObjectId("5353462f93efef02c962da72"),
"Type" : "CD",
"Artist" : "Nirvana",
"Title" : "Nevermind"
},
{
"_id" : ObjectId("5353462f93efef02c962da71"),
"Type" : "Book",
"Title" : "Definitive Guide to MongoDB, the",
"ISBN" : "987-1-4302-3051-9",
"Publisher" : "Apress",
"Author" : [
"Membrey, Peter",
"Plugge, Eelco",
"Hawkins, Tim"
]
}
]
转载至http://blog.fens.me/nodejs-mongoose-json/,
mongodb sort limit和skip用法的更多相关文章
- 菜鸟的mongoDB学习---(五)MongoDB的limit、skip、sort方法
limit方法 假设你须要在MongoDB中读取指定数量的数据记录.能够使用MongoDB的Limit方法,limit()方法接受一个数字參数,该參数指定从MongoDB中读取的记录条数. mongo ...
- MongoDB之Limit选取Skip跳过Sort排序
1.Limit选取 我要从Document中取出多少个 只要2条Document db.Wjs.find().limit(2) 2.Skip跳过 我要跳过多少个Document 我要跳过前两个Docu ...
- mongodb中limit与skip方法
Mongodb Limit()方法 如果需要在mongodb中获取指定数量的数据记录,这时候就要用到limit()方法,该方法需要接收一个数字参数 基本语法: DB.COLLECTION_NAME. ...
- MongoDB 使用Limit和Skip完成分页 和游标(二)
//$slice操作符返回文档中指定数组的内部值 //查询出Jim书架中第2~4本书 db.persons.find({name:"jim"},{books:{"$sli ...
- MongoDB 之 Limit 选取 Skip 跳过 Sort 排序 MongoDB - 7
我们已经学过MongoDB的 find() 查询功能了,在关系型数据库中的选取(limit),排序(sort) MongoDB中同样有,而且使用起来更是简单 首先我们看下添加几条Document进来 ...
- 7,MongoDB 之 Limit 选取 Skip 跳过 Sort 排序
我们已经学过MongoDB的 find() 查询功能了,在关系型数据库中的选取(limit),排序(sort) MongoDB中同样有,而且使用起来更是简单 首先我们看下添加几条Document进来 ...
- MongoDB limit 选取 skip跳过 sort排序 方法
MongoDB limit 选取 skip跳过 sort排序 在mysql里有order by MongoDB用sort代替order by > db.user.find() { " ...
- mongodb的聚合aggregate|group|match|project|sort|limit|skip|unwind
聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum().avg() 语法 db.集合名称.aggregate([{管道:{表达式}}]) 管道 管道在Unix和 ...
- MongoDB入门---文档查询之$type操作符&limit方法&skip方法&简单排序(sort)操作
上一篇文章呢,已经分享过了一部分查询操作了,这篇文章呢?就来继续分享哈.接下来呢我们直接看MongoDB中的$type操作符哈.它呢是基于BSON类型来检索集合中匹配的数据类型,并且返回结果,在Mon ...
随机推荐
- Guice学习(一)
Guice学习(一) Guice是Google开发的一个轻量级依赖注入框架(IOC).Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,A ...
- Android BaseAdapter ListView (明星简介列表)
1.搭建布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andro ...
- 再探Java基础——String.format(String format, Object… args)的使用
最近看到类似这样的一些代码:String.format("参数%s不能为空", "birthday"); 以前还没用过这功能不知咐意思,后研究了一下,详细讲解如 ...
- linux配置时间同步
目标环境,5台linux centos 6.3, 一台作为NTPD服务与外部公共NTP服务同步时间,同时作为内网的NTPD服务器,其他机器与这台服务做时间同步. 服务器IP 角色 说明 同步方式 ...
- 传入字典的模型项的类型为“System.Data.Entity.DynamicProxies.
今天做东西遇到了,这样的一个问题,最后了半天才找到问题所在,现在给大家分享一下问题所在: 传入字典的模型项的类型为“System.Data.Entity.DynamicProxies.doctorUs ...
- memcache和activemq使用连接,然后close
memcache和activemq使用连接,然后close
- php和java静态变量用途的思考
静态变量有哪些用途? 比如创建单例对象. 统计访问次数.数量等等. 多线路和进程中可能会使用. 深入理解补充.... PHP 单例模式解析和实战 php设计模式——单例模式 php static 与 ...
- 详解ASP.NET MVC应用程序请求生命周期
------转载当一个ASP.NET MVC应用程序提出请求,为了响应请求,包含一些请求执行流程步骤! 在ASP.NET MVC应用程序Http request 和Http response 过程中, ...
- 常用hash函数
常用的哈希函数 通用的哈希函数库有下面这些混合了加法和一位操作的字符串哈希算法.下面的这些算法在用法和功能方面各有不同,但是都可以作为学习哈希算法的实现的例子. 1.RS 从Robert S ...
- oracle 复制一条记录只改变主键不写全部列名
场景:表TEST中有C1,C2,C3...字段,其中C1为主键,先需要复制表TEST中一条(C1='1'的)记录,修改主键列C1和需要变更的列后,再插入到表TEST中. procedure P_TES ...