zoukankan      html  css  js  c++  java
  • MongoDB整理笔记の导入导出

      一、导入

        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、导入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格式,所以这种格式非常利于异构数据迁移。

        二、导出

        假设库里有一张user表,里面有2条记录,我们要将它导出

    > use my_mongodb  
    switched to db my_mongodb 
    > db.user.find();  
    { "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 } 
    { "_id" : ObjectId("4f844d1847d25a9ce5f120c4"), "uid" : 1, "username" : "Tom", "age" : 25 } 
    > 

        同样,导出也有两种方式:json格式以及CSV格式。

        先来json格式

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

        参数说明

        d 指明使用的库

        c 指明要导出的表

        o 指明要导出的文件名

        再来CSV格式

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

        参数说明:

        csv 指明要导出为CSV格式

        f 指明要导出哪些列

        更详细用法可以输入命令mongoexport -help来查看 

        需要注意的:其实mongodb导出是可以按条件的,比如如下导出的是5月12号整天的数据。

    /usr/local/mongodb/bin/mongoexport -h 192.168.100.109 --port 27017 -d test -c testdb -q "{"initTime":{$gte:"2014-05-12 00:00:00",$lte:"2014-05-12 23:59:59"}}" -o test.txt  

        说明

        1、集合结构中必须要有时间的域,我的是initTime

        2、-q参数里面放入的是你需要指定的条件

        3、注意-q 最外层的是双引号,而里面的双引号都加上转义符“”

        4、以此类推,如果集合结构中有性别,则可指定性别导出;有年龄,则可指定年龄导出...

        5、客户端同样可以导出服务器数据,格式:--host 192.168.100.109 --port 27017

  • 相关阅读:
    Vim的行号、语法显示等设置,即.vimrc文件的配置
    Vim 配置详解
    经典SQL语句大全
    几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比
    GHOST XP SP3无法安装IIS服务的解决方法
    开发中巧用Enum枚举类型
    代码的坏味道
    C#转义字符
    Dijit、ExtJS、jQuery UI 异同浅析
    未雨绸缪 Plan to Throw One Away
  • 原文地址:https://www.cnblogs.com/tomcatx/p/4245573.html
Copyright © 2011-2022 走看看