博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB管理:如何重命名数据库
阅读量:5959 次
发布时间:2019-06-19

本文共 688 字,大约阅读时间需要 2 分钟。

最近收到一个的使用咨询问题,和大家分享一下,用户想对database进行重命名操作,但因为MongoDB并没有提供renameDatabase的命令,用户的想法是通过来实现,先将数据库拷贝一份,然后删除老的数据库,但由于DB里数据很多,copydb太耗时,想知道是否有更好的方法?

虽然MongoDB没有renameDatabase的命令,但提供了的命令,这个命令并不是仅仅能修改collection的名字,同时也可以修改database。

db.adminCommand({renameCollection: "db1.test1", to: "db2.test2"})

上述命令实现了将db1下的test1,重命名为db2下的test2,这个命令只修改元数据,开销很小,有了这个功能,要实现db1重命名为db2,只需要遍历db1下所有的集合,重命名到db2下,就实现了renameDatabase的功能,写个js脚本能很快的实现这个功能.

var source = "source";var dest = "dest";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});}

转载地址:http://jwfax.baihongyu.com/

你可能感兴趣的文章
dom节点和vue中template浅谈
查看>>
第三方开源框架(一)
查看>>
JSONP跨域
查看>>
对js陀螺仪的认知理解
查看>>
react native scrollView定时器广告位
查看>>
如何在vue中使用ts开发
查看>>
学习vim其实很简单
查看>>
刘强东解读京东AI战略:无人仓无人配送都在布局
查看>>
redux源码分析
查看>>
吴恩达机器学习系列18:核函数
查看>>
Java内存区域和内存模型
查看>>
写python 报错 IndentationError:unindent does not match any outer indentation level
查看>>
iOS 黑魔法 runtime 消息转发 ---附Demo
查看>>
在MySQL中,不要使用“utf8”。使用“utf8mb4”
查看>>
了解 IT 认证价值
查看>>
关于安卓的ViewStub,我有几句话想说。。。
查看>>
Android AOSP基础(一)趁周末用VirtualBox 安装 Ubuntu吧
查看>>
python学习笔记-5.13
查看>>
vuecli3创建项目
查看>>
版本控制工具——Git常用操作(上)
查看>>