MongoDB 的索引
MongoDB 的索引种类
1、_id 索引
2、单键索引
3、复合索引
4、多键索引
5、过期索引
6、全文索引
7、地理位置索引
查看索引的信息
db.test.getIndexes()
一、_id 索引
这个索引绝大多数集合默认建立的索引,一个唯一的索引
二、单键索引
单键索引最普通的索引
1、创建索引,给 name
这个列添加索引
# 这个应该是V3.0 之前的方法了
db.test.ensureIndex({name:1})
# 这个是V3.0后的新方法,推荐用这个
db.test.createIndex({name:1})
#一个值1指定以升序排列的索引。-1指定按降序排列的索引。
2、创建索引的其他参数属性
(a)、name 指定,给索引命名
db.test.createIndex({
name:1},{
name:"indexName"})
(b)、unique 唯一性 ,为true 时 当插入已存在name 的值后,将报错
db.test.createIndex({
name:1},{
unique:true/false})
(c)、sparse 稀疏性,当为true时,索引字段不存在时将不创建索引,
db.test.createIndex({
name:1},{
sparse:true/false})
(d)、expireAfterSeconds 过期, 下面会讲到
三、复合索引
复合索引可以支持与多个字段匹配的查询
简单说就是把多个字段组合成一个单键索引
四、多键索引
1、这个和单键的区别就是,索引可以是一个数组
2、栗子
# 有这么一个数据
{ _id: 1, item: "ABC", ratings: [ 2, 5, 9 ] }
# 创建一个索引
db.survey.createIndex( { ratings: 1 } )
或者这样的
{
_id: 1,
item: "abc",
stock: [
{ size: "S", color: "red", quantity: 25 },
{ size: "S", color: "blue", quantity: 10 },
{ size: