我在以下路径中安装了 mongo DB c:\mongodb\bin
。我已经在高级设置中配置了我的环境变量 PATH。我还运行了 mongod。当我从以下路径运行以下命令mongorestore dumpc:\hw1-1\dump
时(这包含 BSON 文件),我收到此错误:
不知道如何处理转储文件
我已经参考了这个线程来检查我的路径。
我在以下路径中安装了 mongo DB c:\mongodb\bin
。我已经在高级设置中配置了我的环境变量 PATH。我还运行了 mongod。当我从以下路径运行以下命令mongorestore dumpc:\hw1-1\dump
时(这包含 BSON 文件),我收到此错误:
不知道如何处理转储文件
我已经参考了这个线程来检查我的路径。
在 mongodb 3.0 或更高版本中,我们应该指定要恢复的数据库名称
mongorestore -d [your_db_name] [your_dump_dir]
你可能看到了这个错误:
错误:不知道如何处理文件 [转储]
dump
这意味着在这种情况下,当前工作目录中没有调用文件或目录。所以,先试试这个cd c:/hw1-1/
(或者 Windows 上的任何正确语法,我无法测试它。)或者,您可以指定dump
目录的完整路径:
mongorestore c:/hw1-1/dump
如果您使用mongoexport
创建转储,请务必使用mongoimport
而不是mongorestore
加载它。
如果您的 BSON 文件没有 .bson 文件扩展名,也会出现此错误消息“不知道如何处理文件”。
通常这不是问题,因为mongodump
生成带有 .bson 扩展名的文件,但在我的情况下,我有一个 BSON 文件,它不是由生成的mongodump
并且具有不同的文件扩展名。
我在version 3.2 windows
,我的mongorestore
似乎有一个错误:
如果我指定/db:database_name
或/d database_name
收到错误:
don't know what to do with subdirectory "dump\database_name", skipping...
相反,如果我让它在整个转储目录上运行,它似乎可以工作。我使用的命令是:
mongorestore /host:remote_host dump
我当前的目录结构是:
.
..
dump
dump\database_name
当我有一个与我试图在 Mongo 中恢复的集合匹配的集合时出现此错误,最终进入 Mongo 并使用 db.m101.drop(); 将其删除;
在我不断收到此错误一段时间后,我花了一些时间来弄清楚 mongorestore 的选项。
a) 没有正在运行的 mongod 实例。
b)mongorestore -v -host localhost:27017 --dbpath "Actual Path for the Mongo DB- set in config" "Location where the dump is"
使用 dbpath ,允许在没有任何运行版本的 mongod 的情况下运行此命令。这解决了我的错误。