[转载]MongoDB开发学习(2)索引的基本操作
索引能够极大的提高查询的效率。在数据库中简历索引必不可少。
在MongoDB中可以很轻松的创建索引。
默认索引_id_
开启MongoDB服务器,创建数据库cnblogs,创建集合Users 。(关于这部分知识请看上一篇MongoDB开发学习(1)开天辟地,经典入门)
在shell窗口键入如下命令查询集合中所有索引:
> db.Users.getIndexes()

从输出的结果我们可以看到,系统已经默认为Users集合创建了一个索引_id_。
MongoDB在每个集合里有个默认的“_id”的“字段”,相当于“主键”。集合创建后系统会自动创建一个索引在“_id”键上,它是默认索引,索引名叫“_id_”,不允许删除。
创建索引
在MongoDB中使用ensureIndex()命令创建索引
1) 创建单例索引
> db.Users.ensureIndex({name:1})
2) 创建联合索引
联合索引就是将多个字段作为一个索引
> db.Users.ensureIndex({name:1,sex:-1})
//其中,关键字后面的数字表示索引的排序方向,1表示升序,-1表示倒序。
//索引的名称默认格式为:“关键字_数字”,比如上面创建的两个索引的名称即为:”name_1”, “name_1_sex_-1”
3) 创建文档索引
所谓文档索引就是集合的某个“字段”是文档,然后给该字段建立索引
可以给整个“字段”建立索引,如:
> db.Users.ensureIndex({‘Article’:1})
也可以给该“字段”文档的部分某个属性简历索引,如:
> db.Users.ensureIndex({‘Article.Title’:1})
删除索引
在MongoDB中使用dropIndex()命令删除索引,如:
> db.Users.dropIndex(‘Name_1’)
[转载]MongoDB开发学习(2)索引的基本操作的更多相关文章
- [转载]MongoDB开发学习 经典入门
如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四 ...
- [转载]MongoDB开发学习(1)开天辟地,经典入门
原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/04/08/2437468.html 如果你从来没有接触MongoDB或对MongoDB有一点 ...
- MongoDB开发学习
如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四 ...
- MongoDB开发学习(1)开天辟地,经典入门
原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/04/08/2437468.html 如果你从来没有接触MongoDB或对MongoDB有一点 ...
- 【转载】8天学通MongoDB——第四天 索引操作
这些天项目改版,时间比较紧,博客也就没跟得上,还望大家见谅. 好,今天分享下mongodb中关于索引的基本操作,我们日常做开发都避免不了要对程序进行性能优化,而程序的操作无非就是CURD,通常我们 又 ...
- MongoDB的学习--索引类型和属性(转)
原文链接:MongoDB的学习--索引类型和属性 索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field I ...
- 转载:使用Xilinx IP核进行PCIE开发学习笔记(一)简介篇
https://zhuanlan.zhihu.com/p/32786076 最近接触到一个项目,需要使用PCIE协议,项目要求完成一个pcie板卡,最终可以通过电脑进行通信,完成电脑发送的指令.这当中 ...
- MongoDB学习笔记~索引提高查询效率
回到目录 索引这个东西大家不会陌生,只要接触到稍微大一点的数据,都会用到这东西,它可以提升查询的速度,相当代价就是占用了更多的存储空间,这也是正常的,符合“能量守恒定理”,哈哈!今天说的是MongoD ...
- MongoDB学习笔记(索引)
一.索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令: > db.test.ensureIndex({" ...
随机推荐
- list集合,map集合遍历
import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** *遍历集合List * @autho ...
- [原创]HTML标签总结!! 第一次画 尚需要改进 多关照
HTML 页面标签总结 拿xMind写了一下午总结的 只能传图片了 CSS明天整理 后天看看能不能传上来 //======================================= ...
- 使用blktrace排查iowait cpu高的问题
本文转自这里,blktrace在这种情况下的使用方法值得借鉴学习. ------------------------------------------------------------------ ...
- scala学习笔记:无参函数
scala> def repeat(times:Int)(run:()=>Unit)=for(i<-1 to times)run() repeat: (times: Int)(run ...
- 第五章 jQuery中的动画
通过jQuery中的动画方法,能轻松地为网页添加精彩的视觉效果,给用户一种全新体验. 1.show()方法和hide()方法 该方法的功能与css()方法设置display属性效果相同. 给show( ...
- 20160531-20160607springmvc入门
springmvc的基础知识 什么是springmvc? springmvc框架原理(掌握) 前端控制器.处理器映射器.处理器适配器.视图解析器 springmvc入门程序 目的:对前端控制器.处理器 ...
- 如何防止SWF文件被反编译
这篇文章的标题所提出的问题的答案是“不可能”.至少对我来说是不可能的.借助适当的工具,我们可以反编译任何SWF文件.所以,不要将重要的信息置于SWF文件中.SWF文件中不要包含个人的帐号或者密码. 我 ...
- 安装oracle 12c遇到问题
安装前步骤:更改用户账户控制设置:从不通知 出现 "SEVERE: [FATAL] [INS-30014] 无法检查指定的位置是否位于 CFS 上" 解决办法:重新设置hosts ...
- ASP.NET 5 初识
ASP.NET 5 是一个跨平台的全新框架,不再依赖IIS.下面介绍一下简单的Hello World 例子. 1. 安装kvm 用管理员权限打开cmd .如下图: 执行如下的脚本: @powershe ...
- Ant 入门
参考: Ant官网 http://ant.apache.org/ 轻量级java ee企业应用实战(李刚) Ant当前版本1.9.6 Ant基于Java 配置环境变 ...