来自stdin的mongorestore

在远程服务器上,我有一个文件,这是压缩的mongodump输出,让我说一个名为mongodb.tar.gz的文件。

mongodb.tar.gz里面有一个这样的目录结构:

 dump/dbname/ dump/dbname/blogs.bson dump/dbname/blogs.metadata.json dump/dbname/editors_choice.bson dump/dbname/editors_choice.metadata.json ... 

反正有没有下载和恢复本地解压缩整个文件的这个转储?

我的意思是这样的:

 curl http://remoteserver/mongodb.tar.gz | gunzip | mongorestore -d dbname 

此刻,这是不可能的,至less不是没有自己写的东西。 这个function已经被要求作为SERVER-4345和SERVER-5190,但是根据当前工具的工作方式(即不是简单的事情),立即实现有几个问题。

您只能pipe理包含一个集合的压缩文件。

你可以这样做:

 curl http://remoteserver/mongodb.collection.gz | gunzip -c | mongorestore -d dbname -c collectionname - 

-c gunzip选项是必需的,所以它写入标准输出和最后-所以mongorestore期望从标准input。

testing版本3.0.7(不适用于v2.6.4)。

虽然只是一个部分的答案,但是你可以使用fuse来下载.tar.gz文件。

为了直接回答其他部分,我问了问题730494 。