Mongorestorerror: 不知道如何处理转储文件

我在下面的路径 c:\mongodb\bin中安装了 mongoDB。我已经在高级设置中配置了我的环境变量 PATH,我还运行了 monGod。当我从以下路径 c:\hw1-1\dump(包含 BSON 文件)运行以下命令 Mongorest 垃圾场时,我得到了这个错误:

不知道如何处理转储文件

我已经引用 这根线来检查我的路径。

105550 次浏览

您可能已经看到了这个错误:

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

这意味着在这种情况下,当前工作目录中没有名为 dump的文件或目录。所以,尝试第一个 cd c:/hw1-1/(或者不管 Windows 上的正确语法是什么,我都不能测试它。)或者,您可以指定到 dump目录的完整路径:

mongorestore c:/hw1-1/dump

当我有一个集合与我试图在 Mongo 中恢复的集合名称匹配时,我得到了这个错误,结果进入 Mongo 并使用 db.m101.drop ()删除了它;

如果 BSON 文件没有。Bson 文件扩展名。

通常这不是问题,因为 mongodump生成的文件具有。但是在我的例子中,我有一个 BSON 文件,它不是由 mongodump生成的,而是一个不同的文件扩展名。

我花了一些时间来找出 mongorestore 的选项,在此之前我一直得到这个错误。

A)没有正在运行的蒙神实例。

B) mongorestore -v -host localhost:27017 --dbpath "Actual Path for the Mongo DB- set in config" "Location where the dump is"

使用 dbpath,允许在没有任何 monGod 运行版本的情况下运行该命令。 这解决了我的错误。

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

mongorestore -d [your_db_name] [your_dump_dir]

如果使用 mongoexport创建转储,请确保使用 mongoimport而不是 mongorestore来加载它。

我的 version 3.2 windows和我的 mongorestore似乎有一个错误:

如果我指定 /db:database_name/d database_name,我会得到错误:

don't know what to do with subdirectory "dump\database_name", skipping...

相反,如果我让它在整个 dump 目录中运行,它似乎可以工作:

mongorestore /host:remote_host dump

我的工作目录是:

.
..
dump
dump\database_name