MongoDB - 数据管理

数据的备份、恢复以及导出、导入是数据库管理工作中的重要内容,MongoDB提供了一整套的工具来完成这些工作。

1.数据备份mongodump

mongodump用于数据备份,它的工作原理是对MongoDB进行普通查询后将结果写入文件。

mongodump -d test -o /tmp/

还可以通过-c及-q选项指定需要备份的集合和筛选条件

mongodump -d test -c user -q "{name:'tom'}" -o /tmp/

备份执行完成后,会在-o指定的目录下以数据库名创建一个目录,数据文件存放在这个目录中。

mongodump的更多用法可以通过–help查看

mongodump --help

2.数据恢复mongorestore

mongorestore与mongodump配合使用,mongorestore用于数据恢复的文件就是mongodump备份的数据文件。

mongorestore -d test /tmp/test --drop

–drop表示如果数据库已存在则删除原数据库,不加–drop参数则会将用于恢复的数据库与原数据库合并。

3.数据导出mongoexport

mongodump主要是针对库的备份,MongoDB还提供了针对集合的备份工具mongoexport。mongoexport比较灵活,可以指定导出的格式已经导出的字段。

  • 导出JSON格式
mongoexport -d test -c user -o /tmp/test.user.dat
  • 导出CSV格式
mongoexport -d test -c user --csv -f _id,name,age -o /tmp/test.user.csv

另外,mongoexport也可以使用-q参数增加筛选条件。

4.数据导入mongoimport

mongoimport与mongoexport配合,使用mongoexport导出的备份文件进行数据恢复。

  • JSON格式数据导入
mongoimport -d test -c user --type json /tmp/test.user.dat --upsert

–type参数的默认值是json,如果导入json格式数据,可以不使用。
–upsert表示更新现有数据,如果部使用–upsert,导入数据时遇到_id重复时不会插入数据。另外也可以使用–drop删除原数据。

  • CSV格式数据导入
mongoimport -d test -c user --type csv --headerline --file /tmp/test.user.csv --drop

其中–headerline表示不导入csv文件的第一行,因为csv文件第一行为列名。

    原文作者:yuanzicheng
    原文地址: https://www.jianshu.com/p/fda6f9e9d629
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞