Windows 10家庭中文版,MongoDB 3.6.3,
前言
在前面的测试中,已经往MongoDB的数据库中写入了一些数据。现在要重新测试程序,数据库中的旧数据需要被清理掉,可是,又想保存之前写入的数据,于是,就需要导出数据(或备份)了——使用MongoDB提供的mongoexport命令。顺便测试了导出操作的反向操作——导入数据,使用mongoimport命令。
注意,MongoDB的bin目录已经添加到Windows环境变量path中了。
那么, 两个命令怎么使用呢?使用 命令 + --help参数:可以查看帮助信息中的链接中更详细的信息
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:wsmdb_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格式或其它(甚至可以自定义?)
说明,mongoexport导出的数据,就只是数据,是没有数据库、集合相关信息的。
操作2:导入数据
将(当前目录下的)外部文件0713_news_bck.json中的数据导入到数据库globalnews下的foo集合中。
下面的命令使用了/uri选项,也可以和选择上面mongoexport的选项方式。
D:wsmdb_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用户是具备相关权限的,否则,操作失败。