MongoDB失败:无法从路径转储创建ActualPath对象:stat dump:没有这样的文件或目录

时间:2016-07-25 14:52:48

标签: mongodb ubuntu database-restore mongorestore database

我有一堆我需要恢复的mongo数据库。我使用mongodump来获取备份目录,其中包括其中的集合。像这样:

|- mydir
|-- db1
|--- collection1
|--- collections2
|-- db2
|--- collection1
|--- collections2

cd进入mydir并执行mongorestore我收到以下错误:

2016-07-25T10:41:12.378-0400    using default 'dump' directory
2016-07-25T10:41:12.378-0400    Failed: can't create ActualPath object from path dump: stat dump: no such file or directory

然后我尝试恢复这样的特定数据库:mongorestore db2并获得以下错误:

2016-07-25T10:47:04.413-0400    building a list of dbs and collections to restore from db2 dir
2016-07-25T10:47:04.413-0400    don't know what to do with file "db2/collection1.bson", skipping...
2016-07-25T10:47:04.413-0400    don't know what to do with file "db2/collection1.metadata.json", skipping..."db2/collection2.bson", skipping...
2016-07-25T10:47:04.413-0400    don't know what to do with file "db2/collection2.metadata.json", skipping...
2016-07-25T10:47:04.414-0400    done

无论我做什么或尝试什么,我都在这两个错误之间交替。对于我使用的任何数据库都是一样的。

我尝试使用--db标志-d参数,将转储路径设置为第三个参数(mongorestore --db [db] [dump_path])。我在Stackoverflow周围发现的一切。什么都没有。

我坚持这一点,我不知道如何继续。

修改

操作系统: Ubuntu 14.04

按照本指南安装了MongoDB:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

1 个答案:

答案 0 :(得分:4)

没有dump_path位置参数的

mongorestore期望在当前工作目录中有一个名为dump的文件夹。如果文件夹dump不存在,您将收到“无法创建ActualPath ...”错误。

所以基本上如果你没有名为dump的文件夹,你需要传递那个位置参数。所以从mydir运行的父目录:

mongorestore mydir

如果要使用--db选项,则需要将转储路径一直指定到包含该数据库的<.bson文件的特定目录。 bson文件。

例如,要恢复db1的所有集合:

mongorestore --db db1 ./db1

或者只是恢复collection1

mongorestore --db db1 ./db1/collection1.bson