匯入匯出MongoDB資料成JSON CSV檔案
前陣子安迪兒剛好碰到要匯出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時,先刪掉資料再恢復
以上~~收工嘍!