Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb使用一个命令恢复多个集合_Mongodb - Fatal编程技术网

mongodb使用一个命令恢复多个集合

mongodb使用一个命令恢复多个集合,mongodb,Mongodb,如何在mongodb中一次恢复多个集合。 我试过了 mongorestore -c Role -c UserAccount -c Permission -d movie-app dump/ 我得到一个错误文件转储是一个目录,而不是bson文件 我可以一次恢复单个集合,但必须指定bson文件,如 mongorestore -c UserAccount -d movie-app dump/movie-app/UserAccount.bson 我需要知道如何用一个命令还原多个集合。在v3.

如何在mongodb中一次恢复多个集合。

我试过了

mongorestore -c Role -c UserAccount -c Permission -d movie-app dump/ 
我得到一个错误
文件转储是一个目录,而不是bson文件

我可以一次恢复单个集合,但必须指定bson文件,如

  mongorestore -c UserAccount -d movie-app dump/movie-app/UserAccount.bson 

我需要知道如何用一个命令还原多个集合。

在v3.4中,您可以使用
--nsExclude
和/或
--nsInclude
选项创建
--collection
选项功能的超集

例如:

// only restore documents in the transactions database 
// and exclude collections whose name ends with "_dev"
mongorestore --nsInclude 'transactions.*' --nsExclude 'transactions.*_dev' dump/
更多详情请参阅

更新回应此评论:


嗯,但是我要恢复的集合名称没有任何类似的模式可以使用通配符


如果您不想还原的集合名称可以使用通配符模式隔离,那么您可以使用
--nsExclude
。如果不是,则
mongorestore
无法在单个调用中执行您想要的操作,因此您可以在批处理或shell脚本的循环中调用
mongorestore
,为要还原的每个集合名称调用一次
mongorestore

根据mongo Documentation-mongorestore-端口引用URL,该URL是如何还原完整数据库的,但是我只想还原一些集合。嗯,但是我要还原的集合名称没有任何类似的模式可以使用通配符。我可以简单地多次调用
--nsInclude
(或
--nsExclude
)吗?@toto_tico是的,根据。