我有一堆需要还原的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/
mongorestore
如果没有dump_path位置参数,则期望dump
在您当前的工作目录中有一个文件夹。如果该文件夹dump
不存在,您将收到“无法创建ActualPath ...”错误。
因此,基本上,如果您没有名为dump的文件夹,则需要传递该位置参数。所以从mydir
运行的父目录:
mongorestore mydir
如果要使用该--db
选项,则需要一直指定转储路径,一直到包含该数据库的.bson文件或特定.bson文件的目录。
因此,例如,还原所有集合db1
:
mongorestore --db db1 ./db1
或者只是还原collection1
:
mongorestore --db db1 ./db1/collection1.bson
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句