2016-03-01 213 views
0

在Linux终端,我可以做一个mongodump使用此命令到标准输出:管MongoDB的mongodump下载

mongodump --db local --collection allnews --out - 

但我怎么得到这个输出和管道到一个文件,然后在下载浏览器..?

我有一个Apache PHP安装程序,安装了Mongo PHP扩展。

例如,在PhpMyAdmin for MySQL中,您可以执行“导出”操作,并将输出管道输出为.SQL文件。

我想要相同的功能,但对于MongoDB而不是MySQL。

感谢

的原因,我不能做一个mongodump到一个文件是因为服务器上的硬盘空间不足。

回答

0

你可以尝试使用passthru适当结合头开始下载:

<?php 
header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment; filename="dump.txt"'); 
passthru('mongodump --db local --collection allnews --out -') 
+0

这种解决方案的问题是,“mongodump”实际上输出2个文件...它输出.bson文件,它输出一个元数据文件...但你的解决方案只保存一个文件,“dump.txt”....所以,我将如何适应这个解决方案,以便它输出2个文件...?感谢 – kingneil

+0

您可以尝试在3.2中引入['--archive'](https://docs.mongodb.org/manual/reference/program/mongodb/#cmdoption--archive)而不是'--out' – malarzm