Mongodb笔记六:排序与限制输出

一、排序

db.collectionname.find().sort({"key1":-1, "key":1});

这里的1代表升序,-1代表降序。

如:对所有人按年龄升序排序

降序排序

二、索引

索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。

如: 我们查询张三的时候 db.singer.find({"name":"zhangsan"})

如果没有对name字段建立索引,数据库在查询的时候会扫描所有的数据,如果数据量小的时候,感觉不出来速度慢,

当数据量越来越多的时候,就会越来越慢。

这个时候如果给name建立一个索引,查询速度就会加快。

MangoDB使用ensureIndex()方法来创建索引。

ensureIndex()方法基本语法格式如下所示:

>db.集合名.ensureIndex({KEY:1})

对name字段建立一个索引如下:

可视化工具里可以看到索引

语法中key值为你要创建的索引字段,1为指定按升序创建索引,如果你想要按降序来创建索引指定为-1即可。

实例:

db.col.ensureIndex("title":1,"description":-1})

 

三、限制输出

 1) limit() 限制输出

db.集合名.find().limit(n);

例如:找出年龄小的3个歌手

相当于SQL语句:

select * from singer order by age asc limit 3;

2) skip() 跳过n条

db.集合名.skip();

例如:找出年龄除最小的三个以外的2个歌手(跳过最小的3条,输出两条)

注意: limit 和 skip 通常用于分页。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值