MongoDB支持多种类型的索引,包括单字段索引、复合索引、多key索引、文本索引等,每种类型的索引有不同的使用场合。
按照类型可分为:
- 单字段索引
db.person.createIndex( {age: 1} )
对person
集合建立对age
的索引。
{age: 1}
代表升序索引,也可以通过{age: -1}
来指定降序索引,对于单字段索引,升序/降序效果是一样的。
- 复合索引
db.person.createIndex( {age: 1, name: 1} )
他是单字段索引的升级,可以对多个字段进行索引。按第一个字段排序,第一个字段相同的文档按第二个字段排序。
- 多key索引
{"name" : "jack", "age" : 19, habbit: ["football, runnning"]}
db.person.createIndex( {habbit: 1} ) // 自动创建多key索引
db.person.find( {habbit: "football"} )
当索引的字段为数组时,创建出的索引称为多key索引,多key索引会为数组的每个元素建立一条索引,比如person表加入一个habbit
字段(数组)用于描述兴趣爱好,需要查询有相同兴趣爱好的人就可以利用habbit
字段的多key索引。
- 其他索引
- 原文作者:知识铺
- 原文链接:https://geek.zshipu.com/post/%E9%9D%A2%E8%AF%95/11.MongoDB%E7%AF%87/11.4.6-%E5%A6%82%E4%BD%95%E6%B7%BB%E5%8A%A0%E7%B4%A2%E5%BC%95/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com