目录

查询自定义索引

删除所有自定义索引(慎用):

根据第一步查询插入索引:

根据步骤一的索引,删除索引


以下操作都是在admin数据库下执行


查询自定义索引

db.runCommand({listDatabases: 1})["databases"].forEach(
    function(databaseinfo) {
        if (databaseinfo['name'] == 'config' || databaseinfo['name'] == 'admin'){
            return
        }
        db.getSiblingDB(databaseinfo['name']).getCollectionNames().forEach(
            function(collname) {
 
                db.getSiblingDB(databaseinfo['name'])[collname].getIndexes().forEach(
                    function(indexinfo) {
                        if(indexinfo['name'] == '_id_'){
                            return
                        }else{
                            printjson({"dbname": databaseinfo['name'], "collname": collname, "index": indexinfo['key']})
                        }
                    }
                )
                 
            }
        )
    }
)


 
返回样例
{
    "dbname" : "sa_show_account",
    "collname" : "OperationLog",
    "index" : {
        "account" : 1,
        "time" : 1
    }
}


删除所有自定义索引(慎用):

db.runCommand({listDatabases: 1})["databases"].forEach(
    function(databaseinfo) {
        if (databaseinfo['name'] == 'config' || databaseinfo['name'] == 'admin'){
            return
        }
        db.getSiblingDB(databaseinfo['name']).getCollectionNames().forEach(
            function(collname) {
 
                db.getSiblingDB(databaseinfo['name'])[collname].getIndexes().forEach(
                    function(indexinfo) {
                        if(indexinfo['name'] == '_id_'){
                            return
                        }else{
                            printjson({"dbname": databaseinfo['name'], "collname": collname, "index": indexinfo['key']})
                            db.getSiblingDB(databaseinfo['name']).getCollection(collname).dropIndex(indexinfo['name'])
                        }
                    }
                )
                 
            }
        )
    }
)
 


根据第一步查询插入索引:
 

[{
    "dbname" : "dc_config_server",
    "collname" : "mongo_hit_sensitive_words",
    "index" : {
        "account_id" : 1
    }
}
{
    "dbname" : "popaccessserver",
    "collname" : "TenantConfigRecord",
    "index" : {
        "tenant_id" : 1
    }
}
{
    "dbname" : "sa_show_account",
    "collname" : "OperationLog",
    "index" : {
        "account" : 1,
        "time" : 1
    }
}
].forEach(
    function(indexinfo) {
        db.getSiblingDB(indexinfo['dbname']).getCollection(indexinfo['collname']).createIndex(indexinfo['index'])
    }
)

根据步骤一的索引,删除索引

[
    {
        "dbname" : "dc_config_server",
        "collname" : "mongo_hit_sensitive_words",
        "index" : {
            "account_id" : 1
        }
    },
    {
        "dbname" : "popaccessserver",
        "collname" : "TenantConfigRecord",
        "index" : {
            "tenant_id" : 1
        }
    },
    {
        "dbname" : "sa_show_account",
        "collname" : "OperationLog",
        "index" : {
            "account" : 1,
            "time" : 1
        }
    }
].forEach(
    function(indexinfo) {
        // Convert the index object to a string representation of the index name
        var indexName = Object.keys(indexinfo['index']).map(function(key) {
            return key + "_" + indexinfo['index'][key];
        }).join("_");

        // Drop the index using the constructed index name
        db.getSiblingDB(indexinfo['dbname']).getCollection(indexinfo['collname']).dropIndex(indexName);
    }
);

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部