• MongoDB操作-备份和恢复,导入和导出


      mongodb数据备份和恢复主要分为二种:一种是针对库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport

      1. 常用命令格式

        mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表 -o 文件存放路径

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

        导出指定数据库

        mongodump -d SERVERLOG -o /data/mongobak/SERVERLOG.bak/

      

      

       2、mongorestore恢复数据库

        常用命令格式

        mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

        --drop:先删除所有的记录,然后恢复.

        恢复所有数据库到mongodb中

        mongorestore /data/mongobak/ #所有库的备份路径

      3、 mongoexport导出(集合或者集合中部分字段)

        常用命令格式

        mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名

        参数重点说明:
        -f 导出指定字段,以逗号分割,-f uid,name,age导出uid,name,age这三个字段
        -q 可以根据查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数据
        --csv 表示导出的文件格式为csv的。这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点

        导出整个集合

        mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
        -h: MongoDB所在服务器地址
        -d: 需要恢复的数据库实例
        -c: 需要恢复的集合
        -f: 需要导出的字段(省略为所有字段)
        -o: 表示导出的文件名

        比如要备份 OTT_DB数据库实例里面trsdata1集合到csv文件里面

        mongoexport -h 127.0.0.1:27017 -d OTT_DB -c trsdata1  -o E:datadump rsdata.csv 也可以导出json,txt等格式

        切换到mongoexport.exe所在目录

        

        

        导出结果

      

        

        导出表中部分字段(IR_SITENAME, DATE, IR_AUTHORS)

         mongoexport -h 127.0.0.1:27017 -d OTT_DB -c trsdata1 -f IR_SITENAME,DATE,IR_AUTHORS -o E:datadump rsdata.csv

        mongoexport --db OTT_DB --collection trsdata1 --type=csv -f IR_SITENAME,DATE,IR_AUTHORS --out E:datadump rsdata2.csv

        

         

        根据条件导出数据

        mongoexport -d SERVERLOG -c users -q '{uid:{$gt:1}}' -o /data/mongobak/SERVERLOG.bak/users.json 

      4、mongoimport导入(表或者表中部分字段)

        常用命令格式

        恢复整表导出的非csv文件
        mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名

        --upsert:插入或者更新现有数据

        恢复部分字段的导出文件
        mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名

        --upsertFields:更新部分的查询字段,必须为索引,以逗号分隔.

        恢复导出的csv文件
        mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名

        --type:导入的文件类型(默认json)

        例如,把上面导出的trsdata2.csv文件导入到集合trsdata2中

        mongoimport -h 127.0.0.1 --port 27017  -d OTT_DB -c trsdata2 --type csv --headerline --upsert --drop E:datadump rsdata2.csv

        

  • 相关阅读:
    C++ 解析CSV文件
    MFC/WTL 设置背景图和控件透明的方法
    VS2008安装x64版本所遇问题
    VS2012 安装番茄插件
    16年面试提问
    git 使用笔记
    03_运算符、键盘录入、流程控制
    02_java关键字、表识符、注释、进制转换、补码反码、数据类型转换
    01_计算机和java基础
    10 js一维数组、一维数组细节
  • 原文地址:https://www.cnblogs.com/shaosks/p/9318209.html
Copyright © 2020-2023  润新知