Mongodb索引的删除

学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第87篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题,欢迎在文章下面点个赞,或者关注威赞。谢谢。

Mongodb的索引,大多时间都会提高集合的数据查询效率。但针对查询字段的多个索引,可能会使Mongodb选择错误的索引,而对查询效率产生负面影响。同时,数据库管理人员也需要定期查看索引的使用情况 ,需要将不使用的索引清理掉。减少对数据插入和更新产生的影响。而在索引的构建输入错误的名称,或者重新命名索引时,也需要删除索引。

本文整理官方文档,介绍Mongodb索引的删除。

删除索引的方法

删除一个索引

复制代码
db.collection.dropIndex()

删除多个索引

复制代码
db.collection.dropIndexes()

当用户不指定索引名称数组时,删除除_id字段的所有索引。当用户指定索引名称数组时,按照用户指定数组名称删除数组。

注意事项

  • 当用户想要删除_id字段索引时,需要把集合删除。
  • 当用户删除索引时,应用的查询性能可能会产生影响。因此Mongodb建议先将索引隐藏,当确定对应用没有过大的影响时,才删除索引。

应用

使用getIndexes()方法,获取索引名称。

复制代码
db.collection.getIndexes()

删除单个索引

复制代码
db.collection.dropIndex("<indexName>")

删除多个索引

复制代码
db.collection.dropIndexes(["<indexName1>","<indexName1>",...])

删除除了_id索引的其他索引

复制代码
db.collection.dropIndexes()

删除后,使用getIndexes()查看索引

复制代码
db.collection.getIndexes()
相关推荐
Elastic 中国社区官方博客12 小时前
AutoOps 实际应用:调查 ECK 上的 Elasticsearch 集群性能
大数据·数据库·elasticsearch·搜索引擎·全文检索
欧克小奥12 小时前
Redis单节点分片集群实现
数据库·redis·缓存
霑潇雨12 小时前
题解 | 统计每个产品的销售情况
数据库·sql·笔试·牛客
不穿格子的程序员12 小时前
Redis篇1——Redis深度剖析:从 5 种对象到 6 大底层结构
数据库·redis·缓存·redis五大数据类型·redis六大数据结构
Logic10112 小时前
《Mysql数据库应用》 第2版 郭文明 实验2 数据查询操作核心操作与思路解析
数据库·sql·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
小满、12 小时前
Redis:安装、主从复制、Sentinel 哨兵、Cluster 集群
数据库·redis·redis cluster·redis sentinel·redis 主从复制
白帽子黑客杰哥12 小时前
CTF Web题目常用考点与解题技巧合集
前端·数据库·web安全·网络安全·ctf·信息收集
CN-Dust13 小时前
MongoDB|Windows版安装教程(附资源)
数据库·windows·mongodb
落日漫游13 小时前
MySQL vs Redis vs MongoDB:三大数据库
数据库·redis·sql
程序边界13 小时前
金仓数据库助力Oracle迁移的深度体验:PL/SQL与函数支持全解析
数据库·sql·oracle