本文将提供两种方式,来达到修改mongodb的数据库名称的目的。
mongosh 方式
首先得确认一下你所使用的MongoDB的版本。 因为你如果用的 4.0.0 及之后的版本是不支持用 mongosh 来进行这个操作的。
db.version()
4.0.0及之后版本操作报错:
MongoshDeprecatedError: [COMMON-10003] `copyDatabase()` was removed because it was deprecated in MongoDB 4.0
如果你还没有安装 mongosh 或者 mongodb compass,那应该先下载安装一下。
mongosh下载:https://www.mongodb.com/try/download/shell
mongodb compass 下载:https://www.mongodb.com/try/download/compass
来执行一个命令:
use source_database
db.copyDatabase('source_database', 'target_database')
db.dropDatabase()
说明一下,db.copyDatabase('source_database', 'target_database')
是source_database
库的数据复制到target_database
库,最后的db.dropDatabase()
是要将source_database
库删除掉。
使用 mongo tools 工具
mongo官网就提供十分便捷高效的工具。
官网下载: https://www.mongodb.com/try/download/database-tools 在线文档: https://www.mongodb.com/docs/database-tools/
我下载的是zip包,解压后把里面的bin目录放到环境变量path里面,就可以在cmd命令行里面直接使用。
导出数据
mongodump --db source_database --out c://app//data
说明一下,这里是用了mongodump
这个mongo官方提供的工具,把我们的source_database
的数据导出到c://app//data
目录(mongodump会在目录下创建一个source_database的目录用于存放导出的数据)。当然你还可以追加以下参数:
- host 远端的地址,如
--host remote_host:port
- username 用户名,如
--username remote_username
- password 密码,如
--password remote_password
导入数据
mongorestore --db target_database c://app//data//source_database
说明一下,这里是用了mongorestore
这个mongo官方提供的工具,把我们c://app//data//source_database
里面的数据导入到target_database
数据库中。当然你还可以追加host
、username
和password
等参数,跟导出数据时的一样。
注意:本文归作者所有,未经作者允许,不得转载