• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    深入分析Mongodb数据的导入导出

    一、Mongodb导出工具mongoexport

    Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
    mongoexport具体用法

     [root@localhost mongodb]# ./bin/mongoexport --help 
    Export MongoDB data to CSV, TSV or JSON files. 
    
    options: 
     --help          produce help message 
     -v [ --verbose ]     be more verbose (include multiple times for more  
                  verbosity e.g. -vvvvv) 
     --version         print the program's version and exit 
     -h [ --host ] arg     mongo host to connect to ( set name>/s1,s2 for  
                  sets) 
     --port arg        server port. Can also use --host hostname:port 
     --ipv6          enable IPv6 support (disabled by default) 
     -u [ --username ] arg   username 
     -p [ --password ] arg   password 
     --dbpath arg       directly access mongod database files in the given  
                  path, instead of connecting to a mongod server -  
                  needs to lock the data directory, so cannot be used 
                  if a mongod is currently accessing the same path 
     --directoryperdb     if dbpath specified, each db is in a separate  
                  directory 
     --journal         enable journaling 
     -d [ --db ] arg      database to use 
     -c [ --collection ] arg  collection to use (some commands) 
     -f [ --fields ] arg    comma separated list of field names e.g. -f  
                  name,age 
     --fieldFile arg      file with fields names - 1 per line 
     -q [ --query ] arg    query filter, as a JSON string 
     --csv           export to csv instead of json 
     -o [ --out ] arg     output file; if not specified, stdout is used 
     --jsonArray        output to a json array rather than one object per  
                  line 
     -k [ --slaveOk ] arg (=1) use secondaries for export if available, default  
                  true 
    
    

    参数说明
    -h:指明数据库宿主机的IP
    -u:指明数据库的用户名
    -p:指明数据库的密码
    -d:指明数据库的名字
    -c:指明collection的名字
    -f:指明要导出那些列
    -o:指明到要导出的文件名
    -q:指明导出数据的过滤条件

    二、常用数据导出实例

    1.直接导出数据到文件中

    复制代码 代码如下:

    [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]#

    命令执行完后使用命令查看,会发现目录下生成了一个students.dat的文件

    参数说明

     -d 指明使用的库, 本例中为” my_mongodb”
     -c 指明要导出的表, 本例中为”user”
     -o 指明要导出的文件名, 本例中为”user.dat”
    从上面可以看到导出的方式使用的是JSON 的样式 

    2、将foo库中的表t1导出成json格式

    复制代码 代码如下:

    [root@localhost bin]# ./mongoexport -d foo -c t1 -o /data/t1.json  
    connected to: 127.0.0.1  
    exported 1 records  
    [root@localhost bin]#

    导出成功后我们看一下/data/t1.json文件的样式

     

    复制代码 代码如下:

    root@localhost data]# more t1.json  
    { "_id" : { "$oid" : "4f927e2385b7a6814a0540a0" }, "age" : 2 }  
    [root@localhost data]#

    3、导出为CSV格式的数据

    复制代码 代码如下:

    [root@localhost bin]# ./mongoexport -d foo -c t2 --csv -f age,name -o /data/t2.csv  
    connected to: 127.0.0.1  
    exported 1 records  
    [root@localhost bin]#

    查看/data/t2.csv的导出结果

    复制代码 代码如下:

    [root@localhost data]# more t2.csv  
    age,name  
    1,"wwl"  
    [root@localhost data]#

    三、Mongodb导入工具mongoexport

    Mongodb中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式数据。
     
    具体使用如下

     [root@localhost mongodb]# ./bin/mongoimport --help 
    options: 
     --help         produce help message 
     -v [ --verbose ]    be more verbose (include multiple times for more  
                 verbosity e.g. -vvvvv) 
     --version        print the program's version and exit 
     -h [ --host ] arg    mongo host to connect to ( set name>/s1,s2 for sets) 
     --port arg       server port. Can also use --host hostname:port 
     --ipv6         enable IPv6 support (disabled by default) 
     -u [ --username ] arg  username 
     -p [ --password ] arg  password 
     --dbpath arg      directly access mongod database files in the given  
                 path, instead of connecting to a mongod server -  
                 needs to lock the data directory, so cannot be used  
                 if a mongod is currently accessing the same path 
     --directoryperdb    if dbpath specified, each db is in a separate  
                 directory 
     --journal        enable journaling 
     -d [ --db ] arg     database to use 
     -c [ --collection ] arg collection to use (some commands) 
     -f [ --fields ] arg   comma separated list of field names e.g. -f name,age 
     --fieldFile arg     file with fields names - 1 per line 
     --ignoreBlanks     if given, empty fields in csv and tsv will be ignored 
     --type arg       type of file to import. default: json (json,csv,tsv) 
     --file arg       file to import from; if not specified stdin is used 
     --drop         drop collection first  
     --headerline      CSV,TSV only - use first line as headers 
     --upsert        insert or update objects that already exist 
     --upsertFields arg   comma-separated fields for the query part of the  
                 upsert. You should make sure this is indexed 
     --stopOnError      stop importing at first error rather than continuing 
     --jsonArray       load a json array, not one item per line. Currently  
                 limited to 4MB. 
    

    参数说明
     
    -h:指明数据库宿主机的IP
    -u:指明数据库的用户名
    -p:指明数据库的密码
    -d:指明数据库的名字
    -c:指明collection的名字
    -f:指明要导入那些列

    四、常用数据导入实例

    1、导入JSON 数据

    复制代码 代码如下:

    [root@localhost mongodb]# ./bin/mongoimport -d test -c students students.dat  
    connected to: 127.0.0.1 
    imported 9 objects 
    [root@localhost mongodb]#  

    参数说明
    -d:指明数据库名,本例中为test
    -c:指明collection名,本例中为students
    students.dat:导入的文件名

    2、导入CSV格式文件中的内容

    复制代码 代码如下:

    [root@localhost mongodb]# ./bin/mongoimport -d test -c students --type csv --headerline --file students_csv.dat 
    connected to: 127.0.0.1
    imported 10 objects
    [root@localhost mongodb]# 

    参数说明:
    -type:指明要导入的文件格式
    -headerline:指明第一行是列名,不需要导入
    -file:指明要导入的文件

    以上所述就是本文的全部内容了,希望大家能够喜欢。

    您可能感兴趣的文章:
    • Mongodb实现定时备份与恢复的方法教程
    • Windows或Linux系统中备份和恢复MongoDB数据的教程
    • MongoDB整库备份与还原以及单个collection备份、恢复方法
    • mongodb 数据库操作--备份 还原 导出 导入
    • mongoDB4.2.8备份恢复与导出导入(推荐)
    上一篇:浅谈MongoDB的备份方式
    下一篇:mongodb中使用distinct去重的简单方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    深入分析Mongodb数据的导入导出 深入分析,Mongodb,数据,的,