db.collection_name.createIndex(keys, options)
参数说明如下:参数 | 类型 | 描述 |
---|---|---|
background | Boolean | 可选参数,当值为 true 时,表示在后台构建索引,避免在创建索引的过程阻塞其它数据库操作,默认值为 false |
unique | Boolean | 创建唯一索引,当值为 true 时表示创建唯一索引,以避免重复数据的插入,默认为 false |
name | string | 索引的名称。如果未指定,MongoDB 将通过连接索引的字段名和排序顺序生成一个索引名称 |
dropDups | Boolean | 在建立唯一索引时是否删除重复记录,设置为 true 则表示创建唯一索引,默认值为 false,3.0 版本之后废弃 |
sparse | Boolean | 对文档中不存在的字段数据不启用索引,这个参数需要特别注意,如果设置为 true 的话,则在索引字段中不会查询出不包含对应字段的文档。默认值为 false |
expireAfterSeconds | integer | 指定一个以秒为单位的数值,完成 TTL 设定,设定集合的生存时间 |
v | index version | 索引的版本号,默认的索引版本取决于 mongod 创建索引时运行的版本 |
weights | document | 索引权重值,数值在 1 到 99999 之间,表示该索引相对于其他索引字段的得分权重 |
default_language | string | 对于文本索引,该语言用于确定停用词列表以及词干分析器和令牌生成器的规则,默认为英语 |
language_override | string | 对于文本索引,指定文档中包含要替代默认语言的语言的字段名称,默认值为 language |
> db.course.createIndex({"title":1}) { "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }另外,createIndex() 方法还可以同时为多个字段创建索引,如下所示:
> db.course.createIndex({"title":1, "author":-1}) { "createdCollectionAutomatically" : false, "numIndexesBefore" : 2, "numIndexesAfter" : 3, "ok" : 1 }
db.collection_name.dropIndex(index)
其中 index 用来指定要删除的索引,可以是索引名称key
的形式,也可以是{key:1}
的形式。> db.course.dropIndex({"title":1}) { "nIndexesWas" : 3, "ok" : 1 }
db.collection_name.dropIndexes()
注意:在使用 dropIndexes() 方法不需要提供任何参数。
【示例】同时删除集合“course”中 title 与 author 字段的索引:> db.course.dropIndexes() { "nIndexesWas" : 2, "msg" : "non-_id indexes dropped for collection", "ok" : 1 }
db.collection_name.getIndexes()
使用 getIndexes() 方法同样不需要提供任何参数,如下例所示:> db.course.getIndexes() [ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "bianchengbang.course" }, { "v" : 2, "key" : { "title" : 1, "author" : -1 }, "name" : "title_1_author_-1", "ns" : "bianchengbang.course" } ]
本文链接:http://task.lmcjl.com/news/14766.html