1. 导入导出的通用操作
-h host 主机
-port port 端口
-u username 用户名
-p password 密码
如果是本地库,且没有启动 --auth选项,则不需要这些通用操作
2. mongoexport 导出
-d 库名
-c 表名
-f field1, field2... 列名
-q 查询条件
-o 导出的文件名
--csv 导出 csv 格式
mongoexport -d test -c stu -f sn,name -q ‘{sn: {$lte : 1000 }}‘ -o ./test.stu.json --json格式
mongoexport -d test -c stu -f sn,name -q ‘{sn: {$lte : 1000 }}‘ --csv -o ./test.stu.csv
3. mongoimport 导入
-d 待导入的数据库
-c 待导入的表(不存在会自己创建)
--type csv/json(默认)
--file 备份文件的路径
例1: 导入json
mongoimport -d test -c goods -- file ./goodsall.json
例2:导入csv
mongoimport -d test -c goods --type csv --headline -f goods_id, goods_name --file ./goodsall.csv -- csv 文件导入的时候需要用-f 指定要导入的列, --headline 执行导入时跳过首行
4. mongodump 导出二进制bson结构及其索引信息
-d 库名
-c 表名
-f field1, field2... 列名
例:
mongodump -d test [-c 表名] 默认是导出到mongo下的dump目录
mongodump -d test -c tea
再dump的文件夹下会生成一个test的文件夹,里面有两个文件tea.bson和tea.metadata.json
规律:
1. 导出的文件放在以database命名的目录下
2. 每个表导出2个文件,分别是bson结构的数据文件,json的索引信息
3. 如果不声明表,导出所有表
5. 导入数据
use test;
db.dropDatabase(); --删除test数据库
mongorestore -d test --directorypredb dump/test