一个db的Mongorestore给我带来麻烦

我是MongoDB的新手,我很难备份我的本地数据库,并在我的服务器上恢复。 我在Mongo的网站上find了链接: http : //www.mongodb.org/display/DOCS/Import+Export+Tools,但是我仍然遇到了还原问题。

当我做我的备份,我打电话

mongodump --db Gen 

然后我看到所有的集合都转储到/bin/dump/Gen文件夹中

我复制粘贴从本地到服务器在同一个文件夹中的调用

 mongorestore --db Gen --drop --dbpath dump/Gen 

但是我得到以下Error : root directory must be a dump of a single database when specifying a db name with --dbError : root directory must be a dump of a single database when specifying a db name with --db

好吧,我发现我做错了什么:

我在做

 mongorestore --db Gen --drop --dbpath dump/Gen 

但没有 – dbpath它工作得很好!

 mongorestore --db Gen --drop dump/Gen 

感谢大家!

我认为你的文件夹结构可能会越来越乱,当你试图移动它。 例如,这对我有用:

 $ ./mongodump --db Gen $ ./mongorestore --db Gen --drop dump/Gen/ 

你可以尝试不移动转储目录,并从/ bin / dump / Gen恢复?

你指定的目录应该有.bson文件,例如,

 $ ls /bin/dump/Gen foo.bson bar.bson baz.bson 

对于不想受到错误“根目录”烦恼的人来说,当使用–db指定db名称时,必须是单个数据库的转储。

当指定–db和没有–collection(恢复整个数据库)时: – 给定的path必须是目录path – 目录不能包含比.bson或.json更多的文件。 我花了一段时间才意识到隐藏的.svn文件夹(如果你使用SVN)会搞乱脚本

这是什么结束了为我工作( mydb是我的数据库的名称):

 mongorestore --drop -db mydb mydbbackup/mydb/ 

在我的mongodump

 mongodump -d mydb -o mydbbackup 

例:

 ./mongorestore -d db -c mycollection dump/db 

会引发下面的错误

 ERROR: ERROR: root directory must be a dump of a single collection ERROR: when specifying a collection name with --collection 

你可以删除-c选项来减less这个错误。因为dump / db指定了db,但是不能收集。