在远程服务器上,我有一个文件,这是压缩的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 。