Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 数据库 > MariaDB > 正文

MongoDB 索引

时间:2014-07-26 20:45 来源:未知 作者:www.51ou.com 阅读:

索引支持的解析度的查询效率。如果没有索引,MongoDB 必须扫描每一个文档的集合,要选择那些文档相匹配的查询语句。这种扫描的效率非常低,会要求 mongod 做大数据量的处理。

索引是一种特殊的数据结构,存储设置在一个易于遍历形式的数据的一小部分。索引存储一个特定的字段或一组字段的值,在索引中指定的值的字段排列的。

ensureIndex() 方法

要创建一个索引,需要使用MongoDB 的ensureIndex()方法。

语法:

ensureIndex() 方法的基本语法如下

>db.COLLECTION_NAME.ensureIndex({KEY:1})  

这里关键是要在其中创建索引,1是按升序排列的字段名称。要创建降序索引,需要使用-1。

例子

>db.mycol.ensureIndex({"title":1})
>  

在ensureIndex()方法,可以通过多个字段多个字段上创建索引。

>db.mycol.ensureIndex({"title":1,"description":-1})
>  

ensureIndex() 方法也可以接受的选项列表(可选),其下面给出的列表:

参数 类型 描述
background Boolean 在后台建立索引,以便建立索引并不能阻止其他数据库活动。指定true建立在后台。默认值是 false.
unique Boolean 创建唯一索引,以便收集不会接受插入索引键或键匹配现有的值存储在索引文档。指定创建唯一索引。默认值是 false.
name string 索引的名称。如果未指定,MongoDB中都生成一个索引名索引字段的名称和排序顺序串联.
dropDups Boolean 创建一个唯一索引的字段,可能有重复。 MongoDB的索引只有第一次出现的一个键,从集合中删除的所有文件包含该键的后续出现的。指定创建唯一索引。默认值是 false.
sparse Boolean 如果为true,指数只引用文档指定的字段。这些索引使用更少的空间,但在某些情况下,特别是各种不同的表现。默认值是 false.
expireAfterSeconds integer 指定一个值,以秒为TTL控制多久MongoDB的文档保留在此集合.
v index version 索引版本号。默认的索引版本取决于mongodb 运行的版本在创建索引时.
weights document 权重是从1到99999范围内的数,表示该字段的意义,相对于其他的索引字段分数.
default_language string 对于文本索引时,决定停止词和词干分析器和标记生成规则列表的语言。默认值是 english.
language_override string 对于文本索引时,指定的名称在文档中包含覆盖默认的语言,语言字段中。默认值是语言。

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《MongoDB 索引》技术文章,《MongoDB 索引》详细使用和说明,有时《MongoDB 索引》可能不完善、敬请谅解!如果《MongoDB 索引》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
上一篇:MongoDB 排序文档
下一篇:MongoDB 聚合
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片