MongoDB --- 索引

本文介绍了MongoDB中索引的基本概念及其操作方法,包括创建、重建、查看和删除索引等,并提供了具体的语法示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找,使得查找速度能提高几个数量级。在索引中找到条目以后,就可以直接跳转到目标文档的位置。

 

一、创建索引 --- ensureIndex()

语法结构:

db.collection.ensureIndex(keys[,options])

 

  • keys,要建立索引的参数列表。如:{key:1},其中key表示字段名,1表示升序排序,-1表示降序排序
  • options,可选参数
  • background,Boolean,在后台建立索引,以便建立索引时不阻止其他数据库活动,默认false
  • unique,Boolean,建立的索引是否唯一,指定为true创建唯一索引,默认false
  • name,string,指定索引的名称,如果未指定,根据连接索引的字段名和排序顺序生成一个索引名称
  • dropDups,Boolean,在建立唯一索引时是否删除反复记录,指定 true 创建唯一索引。默认值为 false
  • sparse,Boolean,对文档中不存在的字段数据不启用索引。这个參数须要特别注意。假设设置为true的话,在索引字段中不会查询出不包括相应字段的文档.。默认值为 false
  • expireAfterSeconds,integer,指定一个以秒为单位的数值,完毕TTL设置,设定集合的生成时间
  • v,index version,索引的版本号号。默认的索引版本号取决于mongod创建索引时执行的版本号
  • weights,document,索引权重值。数值在 1 到 99,999 之间,表示该索引相对于其它索引字段的得分权重。
  • default_language,string,对于文本索引。该參数决定了停用词及词干和词器的规则的列表。 默觉得英语
  • language_override,string,对于文本索引。该參数指定了包括在文档中的字段名。语言覆盖默认的language,默认值为 language.

 

 

1、创建索引

 

db.person.ensureIndex({name:1})

 

2、创建唯一索引

 

db.person.ensureIndex({name:1},{unique:true})

 

二、重建索引 --- reIndex()

 

db.person.reIndex()

 

三、查看索引 --- getIndexes()

1、查看集合中的索引

 

dp.person.getIndexes()


2、查看集合中的索引大小

 

db.person.totalIndexSize()


3、查看索引相关信息

 

dp.person.starts()


4、查看数据库中所有索引

 

db.system.indexes.find()

 

5、查看查询使用索引的情况

 

db.person.find(name:"Jack55555").explain()

 

四、删除索引 --- dropIndex()

1、删除指定的索引

 

db.person.dropIndex("name_1")


2、删除所有索引

 

db.person.dropIndexes()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值