《mongoDB索引属性》要点:
本文介绍了mongoDB索引属性,希望对您有用。如果有疑问,可以联系我们。
相关主题:非关系型数据库
欢迎参与《mongoDB索引属性》讨论,分享您的想法,维易PHP学院为您提供专业教程。



查看mongoDB默认生成的索引的名字

mongoDB默认生成的索引名字是key1_1(或-1)key2_1(或-1)
db.test_2.ensureIndex({x:1,p:1},{name:'myIndexName'})

查询创建的成果:

db.test_2.dropIndex('myIndexName')


创建了唯一索引的字段值不克不及重复.
db.test_4.ensureIndex({m:1,n:1},{unique:true})

不克不及插入重复记录:


mongoDB默认创立的索引是不稀疏.
稀疏性为true,mongoDB不会为其他的字段创立索引,而只会为指定的字段创立索引.
db.test_4.find({m:{$exists:true}})

方才插进去的{n:1}的记录查询不到.
db.test_4.ensureIndex({m:1},{sparse:true})

如果创建的是稀疏索引,则索引不包括的字段是查询不出来的.

仔细看看上图,必要使用hint,强制使用某个索引,由于m_1索引是稀疏索引,并且该索引只有m字段,没有其他字段,所以根据其他字段查询的时候是会查询不到记录的.
下面我们测试一下不是稀疏索引的情况:
在w字段创立索引:

查询一下不存在记录:

可以看到是可以查询到不存在w字段的记录.
