mongodb索引

作者: 非文666 | 来源:发表于2018-02-25 15:39 被阅读0次

    1. 创建索引

    语法

    # key代表要创建索引的字段,1代表按照升序创建,也可以设置为-1 代表降序
    db.COLLECTION_NAME.ensureIndex({key:1})
    

    实例

    # 在myCollection 集合的age字段上创建升序索引
    > db.myCollection.ensureIndex({"age":1})
    {
        "createdCollectionAutomatically" : false,
        "numIndexesBefore" : 1,
        "numIndexesAfter" : 2,
        "ok" : 1
    }
    

    创建索引其他参数

    • backgroud boolean值 是否创建索引在后台执行
    • unique boolean值 是否是唯一索引
    • name string 指定索引的名称
    • sparse boolean值 是否为不存在的字段创建索引,默认是false
    • weights 索引的权重值 1-99999

    2. 查看索引

    语法

    db.COLLECTION_NAME.getindexes()
    

    实例

    #   查看myCollection集合的索引
    > db.myCollection.getIndexes()
    [
        {
            "v" : 2,
            "key" : {
                "_id" : 1
            },
            "name" : "_id_",
            "ns" : "primeton.myCollection"
        },
        {
            "v" : 2,
            "key" : {
                "age" : 1
            },
            "name" : "age_1",
            "ns" : "primeton.myCollection"
        }
    ]
    

    3. 删除索引

    语法

    db.COLLECTION_NAME.dropIndex("INDEX_NAME")
    

    实例

    #  删除myCollection集合索引名为age_1的索引
    > db.myCollection.dropIndex("age_1")
    { "nIndexesWas" : 2, "ok" : 1 }
    

    4. 删除所有索引

    语法

    db.COLLECTION_NAME.dropIndexes()
    

    实例

    # 主键索引无法删除
    > db.myCollection.dropIndexes()
    {
        "nIndexesWas" : 1,
        "msg" : "non-_id indexes dropped for collection",
        "ok" : 1
    }
    

    相关文章

      网友评论

        本文标题:mongodb索引

        本文链接:https://www.haomeiwen.com/subject/opkcxftx.html