mongo(十九:导入导出)

mongoexport 可以将数据导出为json或csv格式文件
需要对操作的数据库具备read权限

mongoexport --db vhome-device-data --collection device_day_data --type=csv --fields did,infos --out /opt/baskups/data.csv -u XXX -p XXX --authenticationDatabase admin --host XXX --port 27017



格式csv,导出vhome-device-data库device_day_data集合的did,infos字段

csv格式内嵌文档的显示也可以通过 文档.属性 的方式
mongoexport --db vhome-test-data --collection collection --type=csv --fields name.first,name.last --out /opt/baskups/data.csv XXX

导出格式json的话,只需--type=json,使用json格式的话可以不使用fields参数(导出数据库完整文档属性),id字段不管是否指定都会默认导出

mongoexport 还可以使用--query(--query '{"_id": 2 }'),--limit,--skip,--sort(--sort '{"_id": -1 }')

mongoimport 可以将json或csv格式的文件导入
需要对操作的数据库具备readWrite权限

mongoimport --db test --collection device_day_data --type=csv --headerline --file /opt/baskups/data.csv
--headerline不将第一行导入
mongo --quiet --eval 'db.device_day_data.find()'//quite 少输出点连接日志,eval可以直接将后面的字符串当脚本执行


--drop参数:导入数据前将原先集合数据清除掉
--fields参数:自定义文档字段名,使用时记得将csv文件的第一行处理掉(和headerline参数二选一)
--upsetFields:mongoimport 默认对比ID字段,若和集合中原有文档的ID字段相同则更新,不同新增。upsetFields可以改变对比的字段(--upsetFields name.first,balance)
--stopOnError错误则停止
--maintainInsertionOrder 按文件的数据顺序导入

你可能感兴趣的:(mongo(十九:导入导出))