mongodb數據庫怎么遷移


遷移方法一

使用mongo自帶命令來遷移數據,思路是先導出集合數據再導入到數據庫中

導出命令mongoexport

語法:mongoexport -d dbname -c collectionname -o filepath --type json/csv -f field

-d:數據庫名

-c:集合名稱

-o : 導出數據文件的路徑

-type : 導出數據類型,默認json

 

 

 

導入命令mongoimport

語法:mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

-d:數據庫名

-c:集合名稱

--file : 選擇導入的文件

-type : 文件類型,默認json

-f : 字段,type為csv是必須設置此項

 

 

 

 

 

mongodb遠程數據庫的連接以及備份導入導出數據

 

環境win10;

運行cmd cd到目錄mongodb的bin目錄:

連接遠程mongodb:

連接命令:mongo -u username -p pwd host:post/database(數據庫名)

當該用戶有相應權限時,可以查看collection==>查看集合命令:show collections

導出命令:mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -o 文件存在路徑

詳細解釋:

    -h:mongodb所在的服務器地址(必須指定端口),不指定的話就是本地的127.0.0.1:27017

    -u:用戶名

    -p:密碼

    -d:需要備份的數據庫(導出整個mongodb就去掉)

    -o:備份的數據存放的位置

mongodump備份還原數據庫

格式: mongorestore -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 --drop 文件存在路徑

--drop是先刪除所有的數據,再恢復,不需要刪除可不加;

mongoexport導出表,或導出表中部分字段:

命令格式:mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 -f 字段 -q 條件導出 --csv -o 文件名的具體路徑(后綴格式可以是.dat或.csv);

mongoimport導入表,或者表中部分字段 :

1.還原整表導出的非csv文件

   命令格式:mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsert --drop 文件名的具體路徑   (--drop當不需要刪除源文件可不加)

2.還原部分字段的導出文件

  命令格式:mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsertFields 字段 --drop 文件名的具體路徑 (--drop當不需要刪除源文件可不加)

3.還原導出的csv文件(導出數據時如果不加--csv選項,導出的數據就會存在很多雙引號,導入就會失敗)

  命令格式:mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --type 類型(csv) --headerline --upsert --drop 文件名的具體路徑  

  注意:如果數據庫存在數據,要導入最新的數據,則需要加--upsert選項,會更新數據,否則會報錯(提示重復鍵錯誤收集)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM