-------------------MongoDB数据导入与导出-------------------
1、导出工具:mongoexport
   1.1、概念:
        mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
    1.2、语法:
        mongoexport -d dbname -c collectionname -o file --type json/csv -f field
        参数说明:
            -d :数据库名
            -c :collection名
            -o :输出的文件名
            --type : 输出的格式,默认为json
            -f :输出的字段,如果-type为csv,则需要加上-f "字段名"
   1. 3、示例:
  [root@localhost bin]# ./mongoexport -d my_mongodb -c user -o user.dat
  connected to: 127.0.0.1
  exported 2 records
  [root@localhost bin]# cat user.dat
  { "_id" : { "$oid" : "4f81a4a1779282ca68fd8a5a" }, "uid" : 2, "username" : "Jerry", "age" : 100 }
  { "_id" : { "$oid" : "4f844d1847d25a9ce5f120c4" }, "uid" : 1, "username" : "Tom", "age" : 25 }
  [root@localhost bin]#
  
   ....cvs
  [root@localhost bin]# ./mongoexport -d my_mongodb -c user --csv -f uid,username,age -o
  user_csv.dat
  connected to: 127.0.0.1
  exported 2 records
  [root@localhost bin]# cat user_csv.dat
  uid,username,age
  2,"Jerry",100
  1,"Tom",25
  [root@localhost bin]#
 
2、数据导入:mongoimport
    2.1、语法:
        mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
        参数说明:
            -d :数据库名
            -c :collection名
            --type :导入的格式默认json
            -f :导入的字段名
            --headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
            --file :要导入的文件
 
    2.2、示例:
  2.2.1 导入JSON 数据
  我们先将表user 删除掉,以便演示效果
  > db.user.drop();
  true
  > show collections;
  system.indexes
  >
  然后导入数据
  [root@localhost bin]# ./mongoimport -d my_mongodb -c user user.dat
  connected to: 127.0.0.1
  imported 2 objects
  [root@localhost bin]#
  可以看到导入数据的时候会隐式创建表结构

  2.2.2 导入CSV数据
  我们先将表user 删除掉,以便演示效果
  > db.user.drop();
  true
  > show collections;
  system.indexes
  >
  然后导入数据
  [root@localhost bin]# ./mongoimport -d my_mongodb -c user --type csv --headerline --file
  user_csv.dat
  connected to: 127.0.0.1
  imported 3 objects
  [root@localhost bin]#
  参数说明:
   -type 指明要导入的文件格式
   -headerline 批明不导入第一行,因为第一行是列名
   -file 指明要导入的文件路径
  注意:
  CSV 格式良好,主流数据库都支持导出为CSV 的格式,所以这种格式非常利于异构数据迁移
        -
 
-------------------MongoDB备份与恢复-------------------
1、MongoDB数据库备份
    1.1、语法:
        mongodump -h dbhost -d dbname -o dbdirectory
        参数说明:
            -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
            -d: 需要备份的数据库实例,例如:test
            -o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
    1.2、实例:
      [root@localhost bin]# ./mongodump -d my_mongodb -o my_mongodb_dump
 
2、MongoDB数据库恢复
    2.1、语法:
        mongorestore -h dbhost -d dbname --dir dbdirectory
 
        参数或名:
            -h: MongoDB所在服务器地址
            -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
            --dir: 备份数据所在位置,例如:/home/mongodump/itcast/
            --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
    2.2、实例:
   [root@localhost bin]# ./mongorestore -d my_mongodb my_mongodb_dump/*
 
posted on 2017-10-13 12:59  蜡笔小新萌萌哒  阅读(248)  评论(0编辑  收藏  举报