mongorestore错误:不知道如何处理转储文件

时间:2014-01-20 11:50:03

标签: mongodb mongo-shell

我在以下路径c:\mongodb\bin中安装了mongo DB。我已经在高级设置中配置了环境变量PATH。我也运行了mongod。当我从以下路径运行以下命令 mongorestore dump c:\hw1-1\dump(这包含BSON文件)我得到这个错误:

  

不知道如何处理转储文件

我已提到this thread检查我的路径。

7 个答案:

答案 0 :(得分:232)

在mongodb 3.0或更高版本中,我们应该指定要恢复的数据库名称

mongorestore -d [your_db_name] [your_dump_dir]

答案 1 :(得分:35)

你可能看到了这个错误:

  

错误:不知道如何处理文件[dump]

在这种情况下,这意味着当前工作目录中没有名为dump的文件或目录。因此,首先尝试cd c:/hw1-1/(或者在Windows上使用正确的语法,我无法对其进行测试。)或者,您可以指定dump目录的完整路径:

mongorestore c:/hw1-1/dump

答案 2 :(得分:5)

如果您的BSON文件没有.bson文件扩展名,也会出现此错误消息“不知道如何处理文件”。

通常这不是问题,因为mongodump生成带有.bson扩展名的文件,但在我的情况下,我有一个BSON文件,它不是由mongodump生成的,并且具有不同的文件扩展名。

答案 3 :(得分:5)

如果您使用mongoexport创建转储,请务必使用mongoimport而非mongorestore加载转储。

答案 4 :(得分:1)

当我有一个与我试图恢复的名称相匹配的集合时,我收到此错误,最终进入Mongo并使用db.m101.drop()删除它;

答案 5 :(得分:1)

我在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

答案 6 :(得分:0)

我花了一些时间才弄清楚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版本的情况下运行此命令。 这解决了我的错误。