將遠程服務器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官方文檔: