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 :/ -u xxx -p xxx << EOF
    use 
    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/




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


你可能感兴趣的:(mongo-tools、批量操作)