mysql和mongodb替换字段中某字符

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

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

1

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) 。

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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)

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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 )

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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:字段名

 

 

文章转载自:http://blog.itpub.net/25854343/viewspace-2692488/