mongodump
mongodump
- MongoDB數據存儲工具。
從運行的Server中導出.bson
文件。(Export the content of a running server into .bson files.)
mongodump -h host --authenticationDatabase=xxx -u xxx -p xxx -d xxx -c xxx -o /dir/path
mongorestore
mongorestore
- MongoDB數據恢復工具。
使用mongodump
生成的備份還原的正在運行的Server。(Restore backups generated with mongodump to a running server.)
注意:
當使用mongorestore
向刪除干凈的數據庫中導入數據,如果此數據庫同時還有寫操作,會導致數據庫導入某些數據失敗從而數據不完整。這樣的情況下,建議停止寫操作再導入數據。
mongorestore -h 'host' -d 'database' -c 'collection' -u 'user' -p 'passwd' /dir/path
批量刪除集合
for removecoll in {coll01,coll02,coll03...}
do
mongo <host>:<port>/<db> -u xxx -p xxx << EOF
use <db>
db.$removecoll.drop()
EOF
done
mongoexport命令
ongoexport
- MongoDB導出工具。
從MongoDB中導出.csv
或.json
格式的文件。(Export data from MongoDB in CSV or JSON format.)
mongoexport -h host -u xxx -p xxx --authenticationDatabase=xxx -d xxx -c xxx -o /dir/<path>
mongoimport命令
mongoimport
- MongoDB導入程序。
導入.csv, .tsv, .json
文件到MongoDB中。如果未指定文件,將從stdin讀取。(Import CSV, TSV or JSON data into MongoDB. If no file is provided, mongoimport reads from stdin.)
mongoimport -d xxx -c xxx /dir/path
mongodump/restore與mongoexport/import的區別
mongoexport 可以導出json或csv格式的文件,可以指定查詢過濾器或指定輸出的域,不過此工具導出的json,csv可能對某些數據類型不兼容,因此可能不能全部數據導出,mongodump就可以全部兼容 ;
mongodump支持過濾 ,而且在導出速度和壓縮率方面mongodump是最快最好的 。所以,若無csv或debug等特殊格式的備份需求,一般都使用 mongodump 作為備份工具 ;
mongoimport 可以接受json,csv,tsv格式的文件,每行為一個對象 。同mongoexport一樣,其在恢復過程中同樣存在兼容性的問題,所以有恢復不完整的概率 ;
mongorestore,速度較慢,比mongoimport慢2.5倍左右,但是根據mongodump導出的數據,可以完整導入數據。在restore過程中,索引根據之前dump的結果重新創造。