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

我有mongo数据库安装在以下pathc:\mongodb\bin 。 我已经在高级设置中configuration了我的环境variablesPATH。我也有mongod运行。当我运行下面的命令mongorestore转储从以下pathc:\hw1-1\dump (这包含BSON文件)我得到此错误:

不知道如何处理转储文件

我已经提到这个线程来检查我的path。

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

 mongorestore -d [your_db_name] [your_dump_dir] 

你可能看到这个错误:

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

这意味着在这种情况下,在当前工作目录中没有名为dump文件或目录。 所以,请先试试cd c:/hw1-1/ (或者Windows上正确的语法,我无法testing它)。或者,您可以指定dump目录的完整path:

 mongorestore c:/hw1-1/dump 

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

一般来说,这不是一个问题,因为mongodump生成扩展名为mongodump的文件,但在我的情况下,我有一个不是由mongodump生成的BSON文件,而是具有不同的文件扩展名。

如果你使用mongoexport创build转储,一定要使用mongoimport而不是mongorestore加载它。

我得到这个错误,当我有一个集合匹配我试图恢复当前在Mongo的名字的集合,最后进入Mongo并使用db.m101.drop()删除它;

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

我花了一些时间找出了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版本。 这解决了我的错误。