《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字段的记录.