没有直接的方法,只有通过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不能用于分片集
没有直接的方法,只有通过copy再删除:
==2017.4.4 更新==
仍然是间接方案,但
WiredTiger
存储引擎来说已经有了更方便的方案:db.renameCollection。当你把所有的集合移动到了新的库下,就相当于把整个库重命名了。这会比
copyDatabase
快很多。注意:renameCollection不能用于分片集