• MongoDB:数据导入、导出


    一、数据导出


    # 查看帮助文档
    mongoexport  --help
    
    mkdir /mbak
    
    # a. csv格式(必须加-f指定字段名列表)
    mongoexport  --host  192.168.4.51  --port 27051  -d bbsdb  -c  c2 -f  name,school --type=csv  > /mbak/c2.csv
    
    # b. json格式
    mongoexport  --host  192.168.4.51  --port 27051  -d bbsdb  -c c2   --type=json  > /mbak/c2.json
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    二、数据导入


    # 查看帮助文档
    mongoimport --help
    
    # a. json格式的导入
    mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb \
    -c  col  --type=json   /mbak/c2.json
    
    # b.csv格式的导入
    mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb \
    -c  stu --headerline  --type=csv   /mbak/c2.csv            //导入时忽略标题
    
    mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb \
    -c  tea  -f name , school  --type=csv   /mbak/c2.csv     //导入时不忽略标题
    
    mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb  \
    -c  tea  -f name , school  --type=csv   --drop  /mbak/c2.csv        //删除原数据再导入
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    三、总结并示范


    1)导入数据,若库和集合不存在,则先创建库和集合后再导入数据
    2)若库和集合已经存在,则以追加的方式导入到数据集合里

    范例:把系统用户信息 (/etc/passwd ) 存储到 mongodb服务器 userdb库下coluser集合里

    a.先创建结构

    > use  userdb
    > db.coluser.save({
    ... name:"yaya",
    ... password:"x",
    ... uid:1,
    ... gid:1,
    ... comment:"my teacher",
    ... homedir:"/home/yaya",
    ... shell:"/bin/bash"
    ... })
    >db.coluser.find();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    b.导出数据

    mongoexport --host 192.168.4.51  --port 27051   -d userdb  -c coluser  -f \
    name,password,uid,gid,comment,homedir,shell  --type=csv  > /mbak/coluser.csv
    
    • 1
    • 2

    c.拷贝 、修改生成coluser.csv

    cp /etc/passwd /mbak/
    cd  /mbak
    sed -i 's/:/,/g' passwd 
    sed -i  '2r passwd'  coluser.csv
    
    • 1
    • 2
    • 3
    • 4

    d. 导入数据

    mongoimport  --host  192.168.4.51  --port 27051  -d userdb  -c \
    coluser  --headerline --drop  --type=csv /mbak/coluser.csv
    
    • 1
    • 2

    e. 验证结果

    > db.coluser.find()
    
    • 1
  • 相关阅读:
    关于五度圈
    Android系统10 RK3399 init进程启动(三十三) property属性系统框架
    微型计算机基础
    『SD』AI绘画,不会写提示词怎么办?
    最简洁无bug版本圆角webview实现
    程序员副业接单做私活避坑指南
    信息系统项目管理师第四版学习笔记——项目采购管理
    华为telnet的两种认证方式
    ​一款开源的.NET程序集反编译、编辑和调试神器
    [原创] KCP 源码分析(上)
  • 原文地址:https://blog.csdn.net/focus_lyh/article/details/126877361