MongoDB 中的索引包含一下几类
唯一索引
松散索引(只会让指定字段不为空的行参与到索引创建中来)
多值索引(对一个array类型创建索引)
复合索引(如果想用到复合索引,必须在查询条件中包含复合索引中的前N个索引列。然而如果查询条件中的键值顺序和复合索引中的创建顺序不一致的话,MongoDB可以智能的帮助我们调整该顺序,以便使复合索引可以为查询所用)
创建索引命令:
db.test.ensureIndex({"username":1})
或者
spec = {ns: "test.users", key: {‘addresses.zip’: 1}, name: ‘zip’}
db.system.indexes.insert(spec, true)
创建时指定名字:
db.test.ensureIndex({"username":1},{"name":"testindex"})
//数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储
删除索引命令
db.test.dropIndex({"username":1})
或者
db.runCommand({deleteIndexes: "test", index: "username"})
唯一索引创建命令
db.test.ensureIndex({"username":1},{unique:true})
唯一索引消除重复文档
db.test.ensureIndex({"username":1},{unique:true, dropDups:true})
创建松散索引
db.test.ensureIndex({"username":1},{sparse:true})
创建多值索引
db.test.dropIndex({"tags":1})
{ name: "Wheelbarrow",
tags: ["tools", "gardening", "soil"]
}
//在生成索引时,会为tags中的三个值分别生成三个索引元素,索引中tools,gardening,soil三个值都会指向这同一行数据。相当于分裂成了三个独立的索引项
创建复合索引
db.test.ensureIndex({"username":1, "age":1})
如果在为已有数据的文档创建索引时,可以执行下面的命令,以使MongoDB在后台创建索引,这样的创建时就不会阻塞其他操作。但是相比而言,以阻塞方式创建索引,会使整个创建过程效率更高,但是在创建时MongoDB将无法接收其他的操作
db.test.ensureIndex({"username":1},{"background":true})
分享到:
相关推荐
MongoDB索引管理.pdf 学习资料 复习资料 教学资源
MongoDB索引管理与高级索引.pdf 学习资料 复习资料 教学资源
本文讲述了关于MongoDB索引管理包括索引的创建、查看索引、删除索引各方面的命令及使用方法
MongoDB索引优化与管理-刘诚杰 天痕,介绍 1. 索引概念 2. 索引优化 3. 执行计划 4. 索引管理
同时,深入探讨MongoDB索引的类型(如单键索引、复合索引、多键索引等),并分析索引的创建、管理和优化策略。此外,文章还介绍了索引对查询性能的影响,包括如何通过explain()方法分析查询和索引效率,以及覆盖查询...
mongo 是一款超酷的 MongoDB 集群管理...主要特性:非常容易管理你的 MongoDB 集群信息可以获取你配置的实时快照信息深入集群,数据库,集合和索引可以从单个 Web 界面管理所有的 MongoDB 文档 标签:mongo3
mongodb数据库管理工具,可以查看,删除,建立索引等
网盘文件永久链接 目录 课时1:MongoDB数据库入门.mp4 课时2:MongoDB数据数据查询与分析.mp4 课时3:MongoDB数据库核心知识.mp4 ...课时11:MongoDB索引原理及使用.mp4 课时12:MongoDB Sharding原理与使用.mp4
9.4 索引管理 9.5 本章小结 第10章 性能优化 10.1 优化方案 10.1.1 优化方案1:创建索引 10.1.2 优化方案2:限定返回结果条数 10.1.3 优化方案3:只查询使用到的字段,而不查询所有字段 10.1.4 ...
MongoDB的基本常用语法:1、创建、查询数据库 ...9、Mongodb 中索引 1、为name创建索引 2、多列索引 3、子文档索引 4、唯一索引 5、查看索引 6、删除索引 删除单个索引 删除所有索引 7、重建索引 8、索引使用注意事项
视频目录: 01-mongodb文档型数据库特点介绍 01-NoSQL简介 ...08-用户管理 09-mongoDB备份与恢复 09-安全和认证 10-replication复制集 10-主从复制 11-shard分片 11-分片 12-使用java操作mongodb
与传统的关系型数据库不同,MongoDB是一种...五部分阐述创建索引、移动和压缩数据等管理任务,以及MongoDB的持久数据存储。最后一部分集中说明服务器管理。 《MongoDB权威指南(第2版)》适合数据库开发和管理人员阅读。
RockMongo 是一个PHP5写的最好用的MongoDB管理工具。 主要特征: 使用宽松的New BSD License协议 速度快,安装简单 支持多语言(目前提供中文、英文、日文) 系统 可以配置多个主机,每个主机可以有多个管理员 需要...
RockMongo是一个PHP5写的MongoDB管理工具。 主要特征: 使用宽松的New BSD License协议 速度快,安装简单 支持多语言(目前提供中文、英文、日文、巴西葡萄牙语、法语、德语、俄语、意大利语) 系统 ...
day6:MongoDB实例搭建仓位管理API day7:数据模型优化及设计 day8:复制集介绍及演练 day9:海量数据分片 day10:数据库认证与授权介绍及演练 day11:MongoDB数据库导入导出与监控 day12:MongDB数据库常见故障及解决方案 ...
9.4 索引管理 9.5 本章小结 第10章 性能优化 10.1 优化方案 10.1.1 优化方案1:创建索引 10.1.2 优化方案2:限定返回结果条数 10.1.3 优化方案3:只查询使用到的字段,而不查询所有字段 10.1.4 ...
什么是Mongodb Mongodb的优势 CRUD 索引 Mongodb管理 安装部署
摘要:PHP源码,数据管理,MongoDB,RockMongo RockMongo是一款使用PHP5编写的MongoDB数据库在线管理工具,它使用宽松的New BSD License协议,速度快,安装简单,可以配置多个主机,每个主机可以有多个管理员,支持...
mongodb 可视化工具,64位 一个MongoDB管理工具,连接数据库后可以管理 MongoDB服务,数据库,集合,文档,索引等等。