MongoDB Shell脚本,包含内容
1、拷贝数据库;
2、获取所有的数据库集合列表;
3、修改某个字段名;
4、修改集合名;
5、执行脚本命令;
var sourcedb = "database1";
var destdb = "database1_copy";
//use admin
//db.auth("root","aaaaaa");
print("准备复制数据库到" + destdb);
db.copyDatabase(sourcedb ,destdb, "localhost:27017");
print("复制数据库完成!");
var colls = db.getSiblingDB(destdb).getCollectionNames();
//修改制定的集合的displayOrder
var displayOrders = ["collection1", "collection2", "collection3"];
for(var i = 0; i < displayOrders.length; i++) {
print("正在更新" + displayOrders[i] + "的order");
db.getSiblingDB(destdb).getCollection(displayOrders[i]).update({},{$rename:{"displayOrder":"order"}},false,true);
}
for(var i = 0;i < colls.length; i++) {
print("正在更新" + colls[i] + "的name");
db.getSiblingDB(destdb).getCollection(colls[i]).update({},{$rename:{"name":"realname"}},false,true);
print("正在重命名表名" + colls[i]);
db.getSiblingDB(destdb).getCollection(colls[i]).renameCollection("copy_" + colls[i]);
}
print("更新完成!")
执行脚本命名:
将上面的脚本写到脚本文件test.js中。
执行命令:
/data/mongodb/bin/mongo test.js
/data/mongodb/bin/mongo ip:port/dbName test.js