如何使用mongodump转储的数据?

Fre*_*ind 66 dump mongodb mongorestore mongodump

我曾经习惯mongodump转储我的mongodb数据库,它创建了一些bson文件dump/mydb

但我不知道如何使用它们.我试过mongoimport,但似乎无法导入bson数据.那么如何使用这些bson文件?如何将它们导入另一个mongodb?

Jus*_*ins 65

你需要使用mongorestore,而不是mongoimport ......它用于导入json或csv等.

来自back-up-with-mongodump文档:

mongodump从MongoDB数据库读取数据并创建高保真BSON文件,该mongorestore工具可用于填充MongoDB数据库.

mongodump并且mongorestore是用于备份和恢复小型MongoDB部署的简单而有效的工具,但不适合捕获较大系统的备份.

您可以在下面的文档中阅读有关mongorestore的更多信息; 我会看一看并阅读它们,因为它们非常有用.

http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore

您也可以访问http://learnmongo.com获取提示和帮助!


And*_*ich 37

我使用mongodump,mongorestore进行日常备份和从备份恢复.我有两个.bat文件:
首先,对于备份,您只需指定主机数据库名称和备份文件夹:

SET host=localhost:27020
SET dbNameToDump=MyDB
SET backupsFolder=Backups

mongodump.exe --host %host% --db %dbNameToDump%

SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%"
cd %backupsFolder%
md %date%

xcopy /e ..\dump %date%

rmdir /s /q ..\dump
Run Code Online (Sandbox Code Playgroud)

在bat文件上面创建文件夹,其名称如下2011-03-31.11-17(yyyy-MM-dd.hh-ss),文件夹备份与指定数据库中的转储集合.在文件资源管理器中它看起来像这样:

在此输入图像描述

我使用的第二个bat文件用于retore指定的转储文件(这里你还需要指定数据库名称和带有转储文件的文件夹):

SET host=localhost:27020
SET dbNameToRestore=MyDB
SET restoreFolder=Restore

mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder%
Run Code Online (Sandbox Code Playgroud)

在文件资源管理器中:

在此输入图像描述

另外,我使用Windows计划来自动执行备份过程.

希望以上信息对某人有用.


Div*_*ani 8

如前面的答案所述,你必须使用mongorestore而不是mongoimport.添加到以前的答案,当你的mongodb运行时,执行以下命令从转储目录恢复转储,

mongorestore dump
Run Code Online (Sandbox Code Playgroud)

这会将所有集合导入您的mydb数据库.但是,这不会在恢复之前删除数据库.如果您希望在导入之前删除数据库,

mongorestore --drop dump
Run Code Online (Sandbox Code Playgroud)

mydb目录中的bson文件将作为mydb数据库中的集合进行恢复.有关mongorestore的更多信息,请查看此处的文档.


wil*_*ill 6

使用mongorestore.mongoimport适用于mongoexport的输出.mongodump&mongorestore处理二进制数据文件,同时导入/导出json,csv等工作.(人类可读格式)