【发布时间】:2012-03-04 19:03:28
【问题描述】:
如何在 mongodb 中更改数据库名称?简单的问题,但我在网上找不到任何关于如何做到这一点的信息。我不想重建我的整个数据库,我只是想更改它的名称。谢谢。
【问题讨论】:
-
重命名时要小心,不要将集合复制到现有数据库中。查看我的答案stackoverflow.com/a/44986052/1696621
如何在 mongodb 中更改数据库名称?简单的问题,但我在网上找不到任何关于如何做到这一点的信息。我不想重建我的整个数据库,我只是想更改它的名称。谢谢。
【问题讨论】:
简单使用:
db.copyDatabase("old_db_name","new_db_name","localhost")
use old_db_name
db.dropDatabase();
【讨论】:
【讨论】:
你可以转储数据库
./mongodump -d mydb
重命名文件夹
mv /path/to/dump/folder/mydb /path/to/dump/folder/mynewdb
然后恢复
./mongorestore
【讨论】:
从版本 4.2 开始,MongoDB 删除了已弃用的 copydb 命令。 此外,db.copyDatabase() 和 db.cloneDatabase() 只能在连接到 MongoDB 4.0 或更早版本时运行。
如mongoDB manual 所述,将这种方法用于 4.2 版
- 使用 mongodump 将测试数据库转储到存档 mongodump-test-db:
mongodump --archive="mongodump-test-db" --db=test
- 将 mongorestore 与 --nsFrom 和 --nsTo 一起使用从存档中恢复(更改数据库名称):
mongorestore --archive="mongodump-test-db" --nsFrom='test.*' --nsTo='examples.*'
【讨论】: