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的结果重新创造。