在MongoDB中通过建立索引可以进行高效的查询,如果没有索引MongoDB将会扫描整个集合与查询的条件进行匹配,这对于性能会造成很大的消耗。
技术博客: Node.js技术栈
快速导航
面试指南
生产环境如何正确创建索引?
,参考:#
Mongodb索引类型
MongoDB提供了不同的索引类型支持在不同的业务场景进行查询
1. _id索引
绝大多数集合默认建立索引,对于每个插入的数据,MongoDB都会生成一条唯一的_id字段。
例如新创建一个集合时
db.demo_admin2.insert({
x:1})
db.demo_admin2.getIndexes() # 查看集合索引,可看到_id索引
2. 单键索引
是最普通的索引,单键索引不会自动创建
例如一条记录形式为:{x:1,y:2,z:3},只要在x字段上建立索引之后,就可以用x为条件进行查询
db.demo_admin2.ensureIndex({
x:1}) # 创建索引
db.demo_admin2.find({
x:1}); # 使用索引查询
3. 多键索引
多键索引与单键索引区别在于多键索引的值具有多个记录,是一个数组