MongoDB(五)----MongoDB中的索引类型

在MongoDB中支持多种类型的索引,包括单字段索引、复合索引、多key索引、文本索引等,每种类型的索引有不同的使用场合。

1.单字段索引

指的是在索引中只包含了一个键,MongoDB默认创建的_Id索引也是这种类型
创建方式:createIndexes({索引键:排序规则})

db.user.createIndex({name:1})

2.交叉索引

交叉索引就是为一个集合的多个字段分别建立索引,在查询的时候通过多个字段作为查询条件,这种情况称为交叉索引。
在查询文档时,在查询条件中包含一个交叉索引键或者在一次查询中使用多个交叉索引键作为查询条件都会触发交叉索引。
举例说明:

db.user.createIndex({organization:1},{background:true})
db.user.createIndex({age:1},{background:true})
db.user.find({$and:[{name:"梁牡党"},{age:54}]}).explain()

3.复合索引

复合索引是单字段索引的升级版本,它针对多个字段联合创建索引,先按第一个字段排序,第一个字段相同的文档按第二个字段排序,以此类推
语法格式:

db.COLLECTION_NAME.createIndex({索引键名:排序规则, 索引键名:排序规则,......});
db.user.createIndex({name:1,age:1},{background:true});

复合索引能满足的查询场景比单字段索引更丰富,不光能满足多个字段组合起来的查询,也能满足所有能匹配符合索引前缀的查询。
创建复合索引后,按照name或按照name+age两种查询方式都可以触发这个索引。

4.多key索引

当索引的字段为数组时,创建出的索引称为多key索引,多key索引会为数组的每个元素建立一条索引。
语法格式:

db.COLLECTION_NAME.createIndex({数组键名:排序规则});
db.c1.createIndex({hobby:1},{background:true});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值