5.8.1 单键索引
2025年09月26日
5.8.1 单键索引
单键索引(Single Field Indexes)顾名思义就是单个字段作为索引列,MongoDB的所有集合默认都有一个单键索引_id,也可以对一些经常作为过滤条件的字段设置索引,如给age字段添加一个索引:
//给age字段添加升序索引
>db.user.createIndex({age:1})
其中{age:1}中的1表示升序,如果想设置倒序索引的话使用db.userinfos.createIndex({age:-1})即可。通过explain()方法查看查询计划,如图5-17所示,可以看到查询age=23的文档时使用了索引,如果没有使用索引的话stage=COLLSCAN。
图5-17 单键索引
因为文档的存储是BSON格式的,所以也可以给内置对象的字段添加索引,或者将整个内置对象作为一个索引,语法如下:
//内嵌对象的某一字段作为索引,在ename.firstname字段上添加索引
>db.user.createIndex({"ename.firstname":1})
//整个内嵌对象作为索引,给整个ename字段添加索引
>db.user.createIndex({"ename":1})