1、创建索引
语句:
db.collection.createIndex(keys, options, commitQuorum)
选项 | 参数名 | 类型 | 描述 |
keys | 包含排序字段和排序方式的对象, 值: 1为升序索引 -1为降序索引 | ||
options | 参数控制对象 | ||
background | boolean | 可选,是否在后台创建索引,创建索引会阻塞其他数据库操作 值(不传默认false): true为是, false为否 | |
unique | boolean | 可选,是否唯一索引, 值(不传默认false): true为唯一索引, false为普通索引 | |
name | string | 可选。索引的名称。如果未指定,MongoDB将通过连接索引字段的名称和排序顺序来生成索引名称。 | |
sparse | boolean | 可选。如果true ,索引仅引用具有指定字段的文档。 |
详细请查看官方文档:db.collection.createIndex() — MongoDB Manual
例子:
#对employee集合创建name字段的名为IDX_EMP_NAME的升序索引,后台运行
db.employee.createIndex( { name: 1 },{background: true, name: "IDX_EMP_NAME"})
2、查看索引
语句:
db.collection.getIndexes()
详细请查看官方文档:db.collection.getIndexes() — MongoDB Manual
例子:
#查询employee集合的索引
db.employee.getIndexes()
3、删除索引
语句:
#删除单个索引
db.collection.dropIndex("索引名")
#删除全部索引
db.collection.dropIndexes()
详细请查看官方文档:
db.collection.dropIndex() — MongoDB Manual
db.collection.dropIndexes() — MongoDB Manual
例子:
#删除employee集合的名为IDX_EMP_NAME的索引
db.employee.dropIndex("IDX_EMP_NAME")
#删除employee集合所有索引
db.employee.dropIndexes()