mongodb 可以导出 json、csv、二进制格式。导出的工具是 mongoexport,在/bin 目录下。导出导入的参数有以下一些:
-h:服务器路径
--port:端口号
-d:database 数据库
-c:collection 表
-f:field 列
-q:query 查询条件
--csv:导出csv 格式,csv 可以用excel打开,mysql可以直接导入 csv 格式的数据,csv 格式的数据方便在不同数据库之间转换
-o:导出文件名
--type:导入的类型 csv/json 默认json
--file:导入文件的路径
(1)导出json文件示例:导出条件为code 以ddys00开头,导出后默认存放在mongodb的根目录下
./bin/mongoexport -d shop -c goods -f type,code,name,onclick -q '{code:/ddys00.*/}' -o goods-shop.json
./bin/mongoexport -h 192.168.31.151 -d shop -c goods -f type,code,name,onclick -q '{code:/ddys00.*/}' -o goods-shop.json
./bin/mongoexport -h 192.168.31.151 --port 27017 -d shop -c goods -f type,code,name,onclick -q '{code:/ddys00.*/}' -o goods-shop.json
(2)导入json文件示例:
./bin/mongoimport -d shop2 -c goods2 --type json --file ./goods-shop.json
shop2,goods2 如果不存在会自动创建,导入不会删除原有数据
(3)导出csv文件示例:
./bin/mongoexport -d shop -c goods -f type,code,name,onclick -q '{code:/ddys00.*/}' --csv -o goods-shop.csv
csv格式如下图:
(4)导入csv文件示例:
./bin/mongoimport -d shop3 -c goods3 --type csv -f type,code,name,onclick --headerline --file ./goods-shop.csv
要指定列:-f type,code,name,onclick
要跳过第一行:--headerline
二进制文件的导入导出 可以导入导出bson格式的二进制数据和索引信息
(1)导出二进制文件:
./bin/mongodump -d shop -c goods
默认存放位置 mongodb根目录下 dump路径下,有个shop目录,该目录下存在两个文件goods.bson goods.metadata.json,
一个bson数据文件,一个json 描述文件。
./bin/mongodump -d shop2
导出 shop2 库的所有表,默认存放路径,mongodb/dump/shop2,该目录下存放每个表的.bson 数据文件,.json描述文件
(2)导入二进制文件:
./bin/mongorestore -d shop666 --directoryperdb dump/shop2 会导入原shop2中的所有表和索引