如何通过mongodump使用转储的数据?
我用mongodump
来转储我的mongodb数据库,它创build了dump/mydb
下的一些bson文件
但我不知道如何使用它们。 我试过mongoimport
,但似乎不能导入bson数据。 那么如何使用这些bson文件? 如何将它们导入到另一个mongodb?
你需要使用mongorestore ,而不是mongoimport …用于导入json或csv等东西
您可以在下面的文档中阅读关于mongorestore的更多信息; 我会看看他们,因为他们是非常有帮助的。
http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore
您也可以检查http://learnmongo.com提示和帮助!;
我正在使用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
以上bat文件在名为2011-03-31.11-17(yyyy-MM-dd.hh-ss)
的文件夹中创build名为具有从指定数据库转储的集合的文件夹的文件夹。 在文件浏览器中,它看起来像这样:
第二个bat文件用于retore指定的转储文件(在这里您还需要指定数据库名称和转储文件的文件夹):
SET host=localhost:27020 SET dbNameToRestore=MyDB SET restoreFolder=Restore mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder%
在文件浏览器中:
另外,我正在使用Windows计划来自动备份过程。
希望以上信息对某人有用。
使用mongorestore。 mongoimport在mongoexport的输出上工作。 mongodump&mongorestore工作在二进制数据文件,而导入/导出工作在json,csv等。(人类可读格式)
为了解决这个问题,我将转储文件夹dbdump (包含bson文件)复制到mongodb的bin目录,并在命令提示符下执行以下命令:
1. cd“到MongoDB的bin文件夹的path”
(例如:cd C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin)
2. mongorestore.exe –dir ./directory名称–db数据库名称
(例如:mongorestore –dir ./dbdump –db testdb)
转储文件夹中的所有bson文件将被导入到您的数据库中。 您可以通过执行以下命令来validation这一点:
cd“path到MongoDB的bin文件夹”
mongo.exe
显示dbs;
正如在前面的答案中提到的,你必须使用mongorestore
而不是mongoimport
。 添加到以前的答案,当你的mongodb运行时,执行以下命令从转储目录中恢复你的转储,
mongorestore dump
这将把所有的集合导入你的mydb数据库。 但是,这不会在还原之前删除数据库。 如果您希望在导入之前删除数据库,
mongorestore --drop dump
mydb目录中的bson文件将作为mydb数据库中的集合进行还原。 有关mongorestore的更多信息,请查看文档。