之前写的一个monogo脚本,可以替换mongo数据库中所有的url。
var oldQiniuUrl = "https://old.com";
var newQiniuUrl = "https://new.com";
var cursor=db.getCollection('users').find({});
while(cursor.hasNext()) {
var user = cursor.next();
var avatar = user.avatar;
if (avatar.indexOf(oldQiniuUrl) != -1) {
avatar = avatar.replace(oldQiniuUrl, newQiniuUrl);
db.getCollection('users').update({"_id": user._id}, {$set: {"avatar": avatar}});
print(user.email);
}
}
var cursor = db.getCollection('topics').find({});
while(cursor.hasNext()) {
var topic = cursor.next();
var content = topic.content;
if (content.indexOf(oldQiniuUrl) != -1) {
content = content.replace(new RegExp(oldQiniuUrl, "gm"), newQiniuUrl);
db.getCollection('topics').update({"_id": topic._id}, {$set: {"content": content}});
print(topic.title);
}
}
var cursor = db.getCollection('replies').find({});
while(cursor.hasNext()) {
var replies = cursor.next();
var content = replies.content;
if (content.indexOf(oldQiniuUrl) != -1) {
content = content.replace(new RegExp(oldQiniuUrl,"gm"), newQiniuUrl);
db.getCollection('replies').update({"_id": replies._id}, {$set: {"content": content}});
print(content);
}
}