《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字段的記錄.