如题,在命令行里运行修改已有数据库名称
走同样的路,发现不同的人生
没有直接的方法,只有通过copy再删除:
db.copyDatabase('old_name', 'new_name'); use old_name db.dropDatabase();
==2017.4.4 更新==仍然是间接方案,但WiredTiger存储引擎来说已经有了更方便的方案:db.renameCollection。
WiredTiger
use admin; db.runCommand({renameCollection: "test.test", to: "test1.test"});
当你把所有的集合移动到了新的库下,就相当于把整个库重命名了。这会比copyDatabase快很多。
copyDatabase
db.help()
没有直接的方法,只有通过copy再删除:
==2017.4.4 更新==
仍然是间接方案,但
WiredTiger
存储引擎来说已经有了更方便的方案:db.renameCollection。当你把所有的集合移动到了新的库下,就相当于把整个库重命名了。这会比
copyDatabase
快很多。注意:renameCollection不能用于分片集
db.help()