使用MongoDB命令工具导出、导入数据

时间:2021-08-14 23:48:50

Windows 10家庭中文版,MongoDB 3.6.3,

前言

在前面的测试中,已经往MongoDB的数据库中写入了一些数据。现在要重新测试程序,数据库中的旧数据需要被清理掉,可是,又想保存之前写入的数据,于是,就需要导出数据(或备份)了——使用MongoDB提供的mongoexport命令。顺便测试了导出操作的反向操作——导入数据,使用mongoimport命令。

注意,MongoDB的bin目录已经添加到Windows环境变量path中了。

那么, 两个命令怎么使用呢?使用 命令 + --help参数:可以查看帮助信息中的链接中更详细的信息

使用MongoDB命令工具导出、导入数据

使用MongoDB命令工具导出、导入数据

mongoexport官文:

http://docs.mongodb.org/manual/reference/program/mongoexport/

mongoimport官文:

http://docs.mongodb.org/manual/reference/program/mongoimport/

操作

操作1:导出数据

将认证数据库globalnews下的数据全部导出到当前目录下的文件0713_news_bck.json中。

另外,mongoexport命令也可以使用的/uri选项的方式操作,可以对照使用帮助来操作。

D:\ws\mdb_backup>mongoexport /u reporter /p 111111 /authenticationDatabase globalnews /d globalnews /c news /o 0713_news_bck.json
2018-07-13T16:36:31.977+0800 connected to: localhost
2018-07-13T16:36:32.046+0800 exported 363 records

导出的数据文件:默认用json格式,也可以存储为csv格式或其它(甚至可以自定义?)

使用MongoDB命令工具导出、导入数据

说明,mongoexport导出的数据,就只是数据,是没有数据库、集合相关信息的。

操作2:导入数据

将(当前目录下的)外部文件0713_news_bck.json中的数据导入到数据库globalnews下的foo集合中。

下面的命令使用了/uri选项,也可以和选择上面mongoexport的选项方式。

D:\ws\mdb_backup>mongoimport /uri "mongodb://reporter:111111@localhost:27017/globalnews?authSource=globalnews" /c foo /file 0713_news_bck.json
2018-07-13T16:55:27.558+0800 connected to: localhost
2018-07-13T16:55:27.610+0800 imported 363 documents

后记

数据导出还可以使用mongodump命令,数据恢复可以使用mongorestore命令,尚未使用过,需要dig。

无论如何,千万保证数据的安全。

后续还要尝试定期备份数据等操作。

也可以自己写个Web应用来对MongoDB数据库进行管理。

对了,上面操作中使用的reporter用户是具备相关权限的,否则,操作失败。