【MongoDB】索引技术总结

MongoDB的索引被用于查询(find、findOne)和排序。如果倾向于在集合中大量使用排序,那么应该根据排序的需求添加索引。

目前,每个集合中最多可以拥有64个索引。

一、显示索引

  1. MongoDB提供了一个简单的辅助函数getIndexes(),可以显示指定集合中的索引。
  2. MongoDB在每个数据库中都维护了一个特有的集合,名为system.indexes。该集合将记录在数据库中的所有集合上创建的全部索引。
  3. 当在某个元素上定义索引时,MongoDB将构造一个内部的二叉树索引,并用它高效地定位文档,如果未找到合适的索引,MongoDB将扫描集合中的所有文档,搜索满足查询的记录。

二、创建简单的索引

  1. MongoDB提供了ensureIndex()函数,用于向集合中添加新的索引。该函数首先将检查在目前的集合中是否已经创建了该索引。如果是,那么ensureIndex()只是返回该索引。
  2. 如果指定的文档字段是数组类型,那么该索引将数组中的所有元素作为不同的索引条目添加到其中。这被称为多键索引,每个文档都将被链接到索引中的多个值。

三、指定索引选项

  1. 使用{background:true}在后台创建索引
  2. 使用{unique:true}创建唯一键索引
  3. 使用{dropdups:true}自动去重
  4. 使用{sparse:true}创建稀疏索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑起来贼好看

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值