首先,我们往数据库中添加几条记录:
db.test.insert({'name':'q1', 'age':20, 'sex':'male', 'num': 34})
db.test.insert({'name':'q2', 'age':22, 'sex':'male', 'num': 62})
db.test.insert({'name':'q3', 'age':23, 'sex':'female', 'num': 92})
db.test.insert({'name':'q4', 'age':24, 'sex':'female', 'num': 52})
首先查看数据的索引情况:
db.test.getIndexes()
可以得知,在_id 这个字段上,在我们加入数据的时候,就被自动添加了索引。
接下来,我们对 name 字段添加索引:
db.test.createIndex({'name': 1})
如图返回表示创建成功。
再次查看索引情况:
可以看到 name 字段已经被添加索引了,但是索引的名称是 系统自动添加的, 为 name_1,所以,如果我们要自己给索引命名,使用如下命令:
db.test.createIndex({'age':1}, {'name': 'age_index'})
然后在查看可以看到已经 age 字段已经按照我们的命名方式添加索引了。
如下是命令集合:
#创建索引
db.hunter.createIndex({'number': 1})
#手动给索引命名
db.hunter.createIndex({'number': 1},{ 'name': 'name_index'})
# 后台添加索引
db.hunter.createIndex({'number': 1},{ 'name': '_index'}, {backgroup: true})
#查看索引
db.hunter.getIndexes()
#查看集合索引大小
db.hunter.totalIndexSize()
#删除所有索引
db.hunter.dropIndexes()
#删除索引名为 name_index 的索引
db.hunter.dropIndex('name_index')