mongorestore 出现问题(不知道如何处理子目录)

Huy*_*yen 3 mongodb mlab

我使用这个cmd将mongodb恢复到mLab上的远程数据库

$ ./mongorestore -h ds*****.mlab.com:**** -u <user> -p <pass> -d loc8r
Run Code Online (Sandbox Code Playgroud)

但我得到了这个错误

2018-05-01T20:22:18.463+0700    using default 'dump' directory
2018-05-01T20:22:18.463+0700    building a list of collections to restore from dump dir
2018-05-01T20:22:18.464+0700    don't know what to do with subdirectory "dump\Loc8r", skipping...
2018-05-01T20:22:18.464+0700    don't know what to do with subdirectory "dump\admin", skipping...
2018-05-01T20:22:18.464+0700    done
Run Code Online (Sandbox Code Playgroud)

我想知道我是否做错了什么?当我使用相同的 cmd 且转储文件夹仅包含 .bson 文件时,没有问题

Edd*_*mar 10

mongorestore当尝试恢复备份转储(最初使用实用程序创建)时mongodump,该mongorestore实用程序需要有权访问 .bson 文件。

当您进行备份/转储时,如果 .bson 文件不存在于(数据文件夹的)根文件夹中,则您必须显式指定其路径。我的意思是:

假设您在文件夹中进行了备份/转储D:\mongo_bkup_dir\,如果您确实.bson在根目录(进行备份的位置)中有该文件,则只需提供根文件夹位置,例如:

mongorestore --port 27017 --db dbName --username usr1 --password P@ssw0rd --authenticationDatabase authDbName --dir D:\mongo_bkup_dir\
Run Code Online (Sandbox Code Playgroud)

但是,如果您的文件位于名为myDir 的.bson子文件夹中(进行备份时),则使用:

mongorestore --port 27017 --db dbName --username usr1 --password P@ssw0rd --authenticationDatabase authDbName --dir D:\mongo_bkup_dir\mybackup1.dmp\myDir
Run Code Online (Sandbox Code Playgroud)

HTH。