1. 程式人生 > >MongoDB-3:索引

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,減少索引檔案碎片。