今天继续Mongodb,简单的记录下其排序和索引的使用。
在Mongodb中使用sort()方法对数据进行排序。
命令格式:db.collectionName.find().sort({key:参数})
参数说明:
-1:表示降序
1:表示升序(默认)
doc集合中数据如下:
> db.doc.find({},{_id:0,goods_id:1})
{ "goods_id" : 1 }
{ "goods_id" : 4 }
{ "goods_id" : 3 }
{ "goods_id" : 5 }
{ "goods_id" : 6 }
{ "goods_id" : 7 }
{ "goods_id" : 8 }
{ "goods_id" : 9 }
{ "goods_id" : 10 }
{ "goods_id" : 11 }
{ "goods_id" : 12 }
> db.doc.find({},{_id:0,goods_id:1}).sort({goods_id:1})
索引
1、 简介
和mysql数据类似,为了提高查询效率,Mongodb也提供索引的支持。在Mongodb中,索引可以按照字段进行升序/降序来创建,以便于排序。当然,Mongodb默认采用B-tree方式来索引。
按索引作用类型可分为:
1、 单列索引:在单个键上创建索引。
2、 组合索引:在多个键上同时创建索引,也叫多列索引。
3、 文档索引:任何类型,包括文档(document)都可以作为索引。
索引的性质可以分:
1、 普通索引:普通方式创建的索引。注意:Mongodb存在默认的_id的键,相当于主键。集合在创建之后,系统会自动在_id创建索引,该索引为系统默认,无法删除。
2、 唯一索引:某列为唯一索引时,不能添加重复文档。注意,如果文档不存在指定字段时,会将该字段默认为null,而null也会被认为重复。
3、 稀疏索引:和稀疏矩阵类似,稀疏索引就是将含有某个字段的文档进行索引,不包含该字段的文档则进行索引。一般在小部分文档含有某列时常用。
4、 哈希索引:2.4版本新增的索引方式。相比于普通索引,其速度更快。但是无法对范围查询进行优化。多用于随机性比较强的散列当中。