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