如何在mongodb中一次恢复多个集合。
我试过了
mongorestore -c Role -c UserAccount -c Permission -d movie-app dump/
我收到错误file dump is a directory, not a bson file
我可以一次恢复单个集合,我必须指定bson文件,如
mongorestore -c UserAccount -d movie-app dump/movie-app/UserAccount.bson
我需要知道如何 使用一个命令恢复多个集合。
答案 0 :(得分:1)
在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/
the docs中的更多详情。
更新以回复此评论:
嗯,但是我要恢复的集合名称与使用外卡没有任何类似的模式..
如果您使用通配符模式隔离了不要恢复的集合名称,那么您可以使用--nsExclude
。如果没有,那么mongorestore
无法在单个调用中执行您想要的操作,因此您可以在批处理或shell脚本中的循环中调用mongorestore
,为每个集合调用mongorestore
一次你要恢复的名字。