mongdb_使用索引

索引

MongoDB是基于集合建立索引(index),索引的作用类似于传统关系型数据库,目前是为了提高查询速度。

MongoDB的索引基于B-tree数据结构及对应算法形成。

默认情况下,在建立集合的同时,MongoDB数据库自动为集合_id建立唯一索引,可以避免重复插入同一_id值的文档记录

单一字段(键)索引

语法: db.collection_name.createIndex({<key>:<n>})

命令说明: 对一个集合文档的键建立索引,key为键名,n=1为升序,n=-1为降序。

对单一键建立索引

 

 

 

 

显示:

 

 

 

 

嵌套文档单字段索引

 

 

 

 

字段值唯一索引

语法: db.collection_name,createIndex({<key>:<n>,<key>:<n>,…},

       {unique:true})

命令说明: 对一个或多个字段建立唯一索引。Key为键名,n=1为升序,n=-1为降序

 

 

 

 

多字段索引

语法: db.collection_name.createIndex({<key>:<n>,<key>:<n>,…})

命令说明: 对两个或两个以上的字段建立索引。Key为键名,n=1为升序,n=-1为降序

建立多字段索引

 

 

 

 

多字段唯一索引

 

 

 

 

文本索引

语法: db.collection_name.createIndex({<key1>:”text”,<key2>:”text’,…})

命令说明: 在集合里,为文本字段内容的文档建立文本索引

基本文本索引

 

 

 

 

指定权重文本索引

 

 

 

 

通配符文本索引

 

 

 

 

哈希索引

 

 

 

 

ensureIndex()索引

语法: db.collection_name.ensureIndex({{key1:n},{key2:n},…},option)

命令说明: key1、key2是集合里的键名;n=1为升序,n=-1为降序;option为可选参数

 

 

 

 

与索引相关的其他方法

db.collection.dropIndex(index):     移除集合指定的索引功能。Index参数为指定需要删除的集合索引名,可用getIndexes()函数获取集合的所有索引名称。

db.collection.dropIndexes():     移除一个集合的所有索引名称。

db.collection.getIndexes():       返回一个指定集合的现有索引描述信息的文档数组。

db.collection.reIndex():       删除指定集合上所有索引,并重新构建所有现有索引。在具有大量数据集合的情况下,该操作非常消耗服务器的运行资源。

db.collection.totalIndexSize():    提供指定集合索引大小的报告信息。

posted @ 2019-10-28 15:21  tunan96  阅读(148)  评论(0编辑  收藏  举报