MongoDB 失败:无法从路径转储创建 ActualPath 对象:统计转储:没有这样的文件或目录
MongoDB Failed: can't create ActualPath object from path dump: stat dump: no such file or directory
我有一堆 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]
)。我在 Whosebug 周围发现的一切。没有。
我被困在这个问题上,不知道如何继续。
编辑
OS: Ubuntu 14.04
已按照本指南安装 MongoDB:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
没有 dump_path 位置参数的 mongorestore
期望在当前工作目录中有一个名为 dump
的文件夹。如果文件夹 dump
不存在,您将收到 "can't create ActualPath..." 错误。
所以基本上,如果您没有名为 dump 的文件夹,则需要传递该位置参数。所以从mydir
运行的父目录:
mongorestore mydir
如果您想使用 --db
选项,您需要指定转储路径一直到包含该数据库的 .bson 文件的目录 或 一个特定的 .bson 文件。
因此,例如要恢复 db1
的所有集合:
mongorestore --db db1 ./db1
或者只恢复 collection1
:
mongorestore --db db1 ./db1/collection1.bson
我有一堆 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]
)。我在 Whosebug 周围发现的一切。没有。
我被困在这个问题上,不知道如何继续。
编辑
OS: Ubuntu 14.04
已按照本指南安装 MongoDB:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
mongorestore
期望在当前工作目录中有一个名为 dump
的文件夹。如果文件夹 dump
不存在,您将收到 "can't create ActualPath..." 错误。
所以基本上,如果您没有名为 dump 的文件夹,则需要传递该位置参数。所以从mydir
运行的父目录:
mongorestore mydir
如果您想使用 --db
选项,您需要指定转储路径一直到包含该数据库的 .bson 文件的目录 或 一个特定的 .bson 文件。
因此,例如要恢复 db1
的所有集合:
mongorestore --db db1 ./db1
或者只恢复 collection1
:
mongorestore --db db1 ./db1/collection1.bson