MongoDB shell脚本操作

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

猜你喜欢

转载自blog.csdn.net/weixin_40584261/article/details/106574476