mongodb 导入导出

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