ITPub博客

首页 > 数据库 > NoSQL > mysql和mongodb替换字段中某字符

mysql和mongodb替换字段中某字符

原创 NoSQL 作者:z597011036 时间:2020-05-15 20:42:34 0 删除 编辑

1.替换mysql字段中关键字符(将 zjy.zyzhjyy.cn域名替换成 zjy.zyjyxx.com)。

      注意:操作前请先做好数据备份。

update cloud_push_log set result_path = replace(result_path, 'zjy.zyzhjyy.cn','zjy.zyjyxx.com');

cloud_push_log:指定表名

result_path:字段名


2.替换mongodb字段中某字符串(将 zjy.zyjyxx.com字符替换成 zjy.zyzhjyy.cn) 。

      注意:操作前请先做好数据备份。

db.getCollection('eventArgs').find({'contextFileHost':{'$ne':null}, 'contextFileHost':/\.zjy\.zyjyxx\.com/}).
forEach( 
    function(item) {
        var tmp = String(item.contextFileHost)
        if (tmp == null){
            print(item.contextFileHost) 
        }
        else{
            tmp = tmp.replace(/\.zjy\.zyjyxx\.com/g,"\.zjy\.zyzhjyy\.cn");
            }
            item.contextFileHost = tmp ;
            db.getCollection('eventArgs').save(item);
            print("update to " + item.contextFileHost) 
    } 
);

eventArgs:指定表

contextFileHost:字段名


(2). 嵌套修改字符(将zjy.zyjyxx.com域名替换成zjy.zyzhjyy.cn)

db.getCollection('eventArgs').find({'files.origin':{'$ne':null}, 'files.origin':/\.zjy\.zyjyxx\.com/}).
forEach( 
    function(item) {
        var tmp = String(item.files.origin)
        if (tmp == null){
            print(item.files.origin) 
        }
        else{
            tmp = tmp.replace(/\.zjy\.zyjyxx\.com/g,"\.zjy\.zyzhjyy\.cn");
            }
            item.files.origin= tmp ;
            db.getCollection('eventArgs').save(item);
            print("update to " + item.files.origin) 
    } 
);


eventArgs:表名

files.origin:files是一级字段名,origin是二级字段名。


(3),字段中带有数组批量更新数据 (将zjy.zyjyxx.com域名替换成zjy.zyzhjyy.cn )

      注意:操作前请先做好数据备份。

db.getCollection('convert_state_copy0515-1').find({'executeArgs.source':new RegExp(".*zjy.zyjyxx.com.*")}).forEach(
function(item){
        var executeArgs = item['executeArgs'];
        for(var i in executeArgs){
                var source = executeArgs[i]['source'];
                if(null != source && String(source).search('zjy.zyjyxx.com') > -1) {
                    executeArgs[i]['source'] = source.replace('zjy.zyjyxx.com', 'zjy.zyzhjyy.cn');
                }  
                var callback = executeArgs[i]['callback'];
                if(null != callback){
                    var callback_url = executeArgs[i]['callback']['url'];
                    if(null != callback_url && String(callback_url).search('zjy.zyjyxx.com') > -1) {
                        executeArgs[i]['callback']['url'] = callback_url.replace('zjy.zyjyxx.com', 'zjy.zyzhjyy.cn');
                    } 
                }
                var upload = executeArgs[i]['upload'];
                if(null != upload){
                    var upload_url = executeArgs[i]['upload']['url'];
                    if(null != upload_url && String(upload_url).search('zjy.zyjyxx.com') > -1) {
                        executeArgs[i]['upload']['url'] = upload_url.replace('zjy.zyjyxx.com', 'zjy.zyzhjyy.cn');
                    }         
                }
        }
    db.getCollection('convert_state_copy0515-1').update({"_id":item['_id']},{$set:{"executeArgs":executeArgs,"exec":1}});
})

convert_state_copy0515-1:表名

executeArgs.source:字段名

source,callback,upload:字段名


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25854343/viewspace-2692488/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-03-31

  • 博文量
    79
  • 访问量
    486684