MongoDB 如何修改数据库名称

本博主没有找到MongoDB直接修改数据库的名称的方法,在这里给大家分享两种简直方法,但是达到的效果确实一样的。

一.通过copy再删除

db.copyDatabase('old_name', 'new_name'); 
use old_name 
db.dropDatabase();

二.通过移动集合来修改数据库名

use admin;
 db.adminCommand({renameCollection: "test.test", to: "test1.test"});

当你把所有的集合移动到了新的库下,就相当于把整个库重命名了。这会比copyDatabase快很多。
虽然MongoDB没有renameDatabase的命令,但提供了renameCollection的命令,这个命令并不是仅仅能修改collection的名字,同时也可以修改database。

上述命令实现了将test下的test,重命名为test1下的test,这个命令只修改元数据,开销很小,有了这个功能,要实现test重命名为test1,只需要遍历test下所有的集合,重命名到test1下,就实现了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});
}  

版权声明:除特别注明外,本站所有文章均为澳门葡京官网原创

转载请注明:出处来自澳门葡京官网 » MongoDB 如何修改数据库名称

发表评论

电子邮件地址不会被公开。 必填项已用*标注