匯入匯出MongoDB資料成JSON CSV檔案
Jun 1, 2016
1 minute read

前陣子安迪兒剛好碰到要匯出mongodb資料
需要轉csv給其它人員使用
查了一下,發現mongodb直接有支援資料匯出成json、csv格式
(超強XD)

兩者的區別:
- JSON 是 mongoexport 默認的匯出格式,不需要指定

  • CSV 格式需要明確指定欄位屬性名

一般大多使用json,特殊需求像是需要用到excel之類的文件編輯的,會比較偏向使用csv格式。
參考以下官方文件

[mongoexport]
https://docs.mongodb.com/master/reference/program/mongoexport

[mongoimport]
https://docs.mongodb.com/manual/reference/program/mongoimport/#use

安迪兒貼一下用的指令

匯出:

mongodb collection指定欄位匯出資料轉csv

mongoexport --host localhost --db xxdata --collection unknown_data --username xx --password xx --csv --out text.csv --fields _id,lang,pinyin,artists,phonetic,hash_code,created_at,title,vocal_track,filename,hash_method,words

mongodb collection資料匯出轉json

mongoexport --host localhost -d xxdata -c unknown_songs -u xxuser -p xxpassword -o output.json

匯入:

測試一下匯入

mongoimport  --host localhost --db xxdata --collection test --username xx --password xx --type csv --headerline --file ./text.csv

附上mongo db dump & restore資料庫

全部db dump&restore

mongodump -h localhost -u xx -p xx -d metadata -o ./dump  

mongorestore -h localhost -u xx -p xx -d metadata --directoryperdb ./dump  

單一collection回復

mongodump -h localhost -u xx -p xx -d metadata --collection unknown_songs  

mongorestore -h localhost -u xx -p x -d metadata --collection test ./dump/metadata/unknown_songs.bson  

一些參數
- -h:mongo位址
- -d:db name
- –directoryperdb:dump的目錄
- –drop:restore時,先刪掉資料再恢復

以上~~收工嘍!


Back to posts


comments powered by Disqus