Mongo修改数据库名称
思路:mongo不能直接修改数据名称,可以通过把遍历源库下所有collecton,然后重命名到新库下collection的方式修改数据库名称。说明:collection数据量大时,会影响性能,请在业务低峰执行,如果collection数量很多, 可以通过如下脚本实现。3.发现原数据库里没有任何表, 可以删除源数据库。适用场景:通过命令行或第三方工具可以连接到数据库。2.转移数据库的集合到新命名的数
Author:skatexg
Time:2024/09/04
环境说明
mongo版本:4.0
解决方案一
思路:mongo不能直接修改数据名称,可以通过把遍历源库下所有collecton,然后重命名到新库下collection的方式修改数据库名称
具体步骤
1.使用管理员用户登录数据库
# use admin
2.转移数据库的集合到新命名的数据库
# db.runCommand({"renameCollection":"yourdbname.yourcollection", "to":"newdbname.yourcollection"})
样例:把数据库data修改为data_20240607
db.runCommand({"renameCollection":"data.CommentsInfo", "to":"data_20240607.CommentsInfo"});
db.runCommand({"renameCollection":"data.NodeData", "to":"data_20240607.NodeData"});
如果collection数量很多, 可以通过如下脚本实现
var source = "test-db4";
var dest = "test-db6";
var colls = db.getSiblingDB(source).getCollectionNames();
for (var i = 0; i < colls.length; i++) {
var from = source + "." + colls[i];
var to = dest + "." + colls[i];
db.adminCommand({renameCollection: from, to: to});
}
3.发现原数据库里没有任何表, 可以删除源数据库
use yourdbname
db.runCommand( { dropDatabase: 1 } )
说明:collection数据量大时,会影响性能,请在业务低峰执行,
解决方案二
具体步骤
思路:通过导出/导入的是方式实现
适用场景:通过命令行或第三方工具可以连接到数据库
1、通过mongodump 导出源库数据
2、通过mongorestore 恢复数据到新库
3、删除源库
---end---
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)