Dug*_*ugi 2 database ubuntu database-restore mongodb mongorestore
我有一堆需要恢复的 mongo 数据库。我曾经mongodump获取备份目录,其中包括其中的集合。像这样的东西:
|- mydir
|-- db1
|--- collection1
|--- collections2
|-- db2
|--- collection1
|--- collections2
Run Code Online (Sandbox Code Playgroud)
我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
Run Code Online (Sandbox Code Playgroud)
然后我尝试恢复这样的特定数据库: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
Run Code Online (Sandbox Code Playgroud)
无论我做什么或尝试什么,我都会在这两个错误之间交替。我使用的任何数据库都是一样的。
我尝试使用--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
Run Code Online (Sandbox Code Playgroud)
如果要使用该--db选项,则需要指定一直到包含该数据库的 .bson 文件或特定 .bson 文件的目录的转储路径。
因此,例如恢复所有集合db1:
mongorestore --db db1 ./db1
Run Code Online (Sandbox Code Playgroud)
或者只是恢复collection1:
mongorestore --db db1 ./db1/collection1.bson
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |