• mongodb数据导入导出mongoexport/mongoimport


    数据导出 mongoexport

    假设库里有一张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 }

    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 }
    参数说明:
        -d 指明使用的库, 本例中为” my_mongodb”
        -c 指明要导出的表, 本例中为”user”
        -o 指明要导出的文件名, 本例中为”user.dat”
    从上面可以看到导出的方式使用的是JSON 的样式
    2.导出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
    参数说明:
        -csv 指要要导出为csv格式
        -f 指明需要导出哪些列
    更详细的用法可以 mongoexport -help 来查看

    数据导入mongoimport

    在上例中我们讨论的是导出工具的使用,那么本节将讨论如何向表中导入数据
    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
    可以看到导入数据的时候会隐式创建表结构

    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
    参数说明:
        -type 指明要导入的文件格式
        -headerline 批明不导入第一行,因为第一行是列名
        -file 指明要导入的文件路径
    注意:
    CSV格式良好,主流数据库都支持导出为CSV的格式,所以这种格式非常利于异构数据迁移。
  • 相关阅读:
    为服务部署 Jekins的使用
    spring cloud
    docker
    WebSocket
    idea
    maven
    SQL四种语言(DDL、 DML、 DCL、 TCL)
    十大经典排序
    AVL树的旋转图解和简单实现
    多个线程交替打印
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061112.html
Copyright © 2020-2023  润新知