将远程服务器A上的MongoDB数据库test下的集合people导入到服务器B数据库test的集合people_test下。git
先将A服务器数据导出,而后再执行导入到B服务器。mongodb
下面的导入和导出操做,均是在git bash下执行,若是是在windows命令行下须要稍微更改路径。数据库
利用本地原生MongoDB安装目录下的bin目录中的mongoexport和mongoimport json
这里,我打算将远程服务器A上的数据导入到我本地windows系统e盘temp目录下;windows
首先,进入到MongoDB的安装目录,而后:bash
cd bin
mongoexport -u admin -p 123456 --authenticationDatabase admin -h 10.5.10.22:27017 -d test -c people -o /e/temp/people.json
参数 | 说明 |
---|---|
-u | 用户名 |
-p | 密码 |
--authenticationDatabase | 保存用户凭据的数据库(通常是admin) |
-h | host:port |
-d | 数据库名 |
-c | 表名(只能接受一个表名参数,不能接受由空格、逗号等 分隔的多个表名,也不能用"*") |
-o | 导出的文件名 |
--file | 导入的文件名 |
--upsert | 导入的记录建立或更新 |
更多详细的操做:mongoexport --help。服务器
这里我打算将本地windows系统e盘temp目录下的people.json文件导入到服务器B上;工具
也是在bin目录下;spa
mongoimport -u admin -p 123456 --authenticationDatabase admin -h 10.6.22.12:27017 -d test -c people_test --file /e/temp/people.json --upsert rm /e/temp/people.json
执行 | |
---|---|
导出 | mongoexport -u 用户名 -p 密码 --authenticationDatabase 用户凭据数据库 -h ip:port -d 数据库名 -c 表名 -o 导出的文件名.json |
导入后删除文件 | mongoimport -u 用户名 -p 密码 --authenticationDatabase 用户凭据数据库 -h ip:port -d 数据库名 -c 表名 --file 导出的文件名.json --upsert && rm 导出的文件名.json |
可以利用windows本地安装的MongoDB bin目录下的程序导入和导出远程服务器上的数据;命令行
若是是导出本地MongoDB的数据,就不须要用户名和密码以及保存用户凭据的数据库。
MongoDB官方文档: