zoukankan      html  css  js  c++  java
  • MongoDB备份恢复与导出导入

    说明:本文所有操作均在win7下的MongoDB3.4.4版本中进行。

    一、备份与恢复

    1. 备份:

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

    (将使用某个用户账号将某个mongodb服务器上的某个数据库备份到某个路径下)

    如果无需指定用户,可以去掉-u-p;如果导出本机的数据库,可以去掉-h;如果是默认端口,可以去掉--port

    如果想导出所有数据库,可以去掉-d如果只想备份某个集合,应在”-d 数据库”后添加”-c 集合名”选项。

    备份单个集合示例:

    这个命令执行之后在D:mongodbackup目录会生成一个'wjt'文件夹,里面两个文件:friend.bson和friend.metadata.json,前者存储集合数据,后者存储集合的元数据,如索引信息等。

    如果想根据查询条件来备份数据,则应该添加’-q 查询条件’选项。

    查询条件备份示例:

    (mongodb3.4.4查询条件使用单引号会报错:query is not in proper format

    2. 恢复:

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

    --drop:恢复的时候,先删除当前数据库数据,然后恢复备份的数据

    (恢复后,备份后添加、修改的数据都会被删除,慎用!若不使用该选项,则恢复过程可能会出现很多键重复的报错,键重复的数据将不被恢复)

    如果只想备份某个集合,应在”-d 数据库”后添加”-c 集合名选项,备份某个集合的时候需要指定具体的bson文件,而不能只是指定文件目录。

    恢复单个集合示例:

    导入成功之后,不仅数据可以导入,索引信息也会导入。

     

    二、导出与导入

    1. 导出:

    mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d数据库 -c 表名 -f 字段名 -q 查询条件 --type=csv -o 文件路径

    mongoexport导数据时一定要使用-c参数指定需要导出的集合,所以-o参数要指定一个具体的文件名而不能是目录。

    -f:只导出指定的字段,多个字段之间使用英文逗号分隔。

    --type:指定导出文件的格式。目前只支持jsoncsv,指定导出csv格式时一定需要使用-f参数指定需要导出的字段,csv文件第一行为字段名标题。

    2. 导入:

    1)导入json文件:

    mongoimport -h IP --port 端口 -u用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名

    --upsert:存在则更新,不存在则插入。若只是导入部分字段,则将其换成--upsertFields参数并指定字段名列表。

    2)导入csv文件:
    mongoimport -h IP --port 端口 -u用户名 -p 密码 -d 数据库 -c 表名 --type=csv --headerline --upsert --drop 文件名

    --headerline:去除csv文件中的标题行,或使用-fields参数指定字段名,但这两个参数不能同时使用。

     

  • 相关阅读:
    map函数
    修改文件夹所有者权限
    [Python]Python基础趣讲精练
    jmeter生成随机字符串
    Jmeter生成8位不重复的随机数
    Jmeter接口测试使用总结
    Jmeter模拟多个号码注册
    Jmeter实现多用户注册登录
    jmeter 生成随机数(手机号)&随机中文字符
    python接口自动化如何封装获取常量的类
  • 原文地址:https://www.cnblogs.com/wujuntian/p/6953989.html
Copyright © 2011-2022 走看看