mongo-tools、批量操作

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的結果重新創造。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容