MongoDB-3:索引
一、單例索引
1.插入索引:
db.test.ensureIndex({sn:1}) #給sn新增索引,1:正序 、-1:倒序
2.查詢索引:
db.test.getIndexes();
3.刪除某個索引:
db.test.dropIndex({sn:1}) #刪除sn索引,必須指明索引順序
4.刪除所有索引:
db.test.dropIndexs()
二、多例索引
1.插入索引:
db.test.ensureIndex({sn:1,name:1})
三、子文件索引:
db.test.ensureIndex({'chengji.yuwen':1})
四、索引型別
1.普通索引如上文。
2.唯一索引:db.test.ensureIndex({sn:1},{unique:true})
3.稀疏索引:db.test.ensureIndex({sn:1},{sparse:true})
4.雜湊索引:db.test.ensureIndex({sn:'hashed'})
普通索引和稀疏索引區別比如2條資料:
{ "_id" : ObjectId("5ab9decd497fa5e4783c41ae"), "name" : "chenfenli", age:20}
{ "_id" : ObjectId("5ab9decd497fa5e4783c41ae"), "name" : "chenfenli"}
最後一行沒有age列,如果分別加普通所以和稀疏索引,對於最後一行的age分別當成null和忽略最後一行來處理。
根據{age:null}來查詢,前者能查到,而稀疏索引查不到最後一行。
五、重建索引
db.test.relndex()
作用:重建test中的所有索引,包括_id,減少索引檔案碎片。