mongodb提供两种删除索引的方法:

dropIndex()方法用于删除指定的索引;dropIndexes()方法用于删除全部的索引。

例1:dropIndex()的用法

> db.users.dropIndex("name_1")
{ "nIndexesWas" : 5, "ok" : 1 }
> db.users.dropIndex("name_1_age_1")
{ "nIndexesWas" : 4, "ok" : 1 }
> db.users.getIndexSpecs()
[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test1.users"
    },
    {
        "v" : 1,
        "key" : {
            "name" : -1
        },
        "name" : "name_-1",
        "ns" : "test1.users"
    },
    {
        "v" : 1,
        "key" : {
            "age" : 1
        },
        "name" : "age_1",
        "ns" : "test1.users",
        "background" : 1
    }
]

我们可以看到,name字段的索引和name与age字段的组合索引皆被删除。

例2:dropIndexes()的用法

> db.users.dropIndexes()
{
    "nIndexesWas" : 3,
    "msg" : "non-_id indexes dropped for collection",
    "ok" : 1
}
> db.users.getIndexSpecs()
[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test1.users"
    }
]

在使用了dropIndexes()方法后,我们之前建的所有索引都被删除掉了。

云海天教程网,大量的免费MongoDB入门教程,欢迎在线学习!

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » mongodb如何删除索引