我在下面的路径 c:\mongodb\bin中安装了 mongoDB。我已经在高级设置中配置了我的环境变量 PATH,我还运行了 monGod。当我从以下路径 c:\hw1-1\dump(包含 BSON 文件)运行以下命令 Mongorest 垃圾场时,我得到了这个错误:
c:\mongodb\bin
c:\hw1-1\dump
不知道如何处理转储文件
我已经引用 这根线来检查我的路径。
您可能已经看到了这个错误:
错误: 不知道如何处理文件[ dump ]
这意味着在这种情况下,当前工作目录中没有名为 dump的文件或目录。所以,尝试第一个 cd c:/hw1-1/(或者不管 Windows 上的正确语法是什么,我都不能测试它。)或者,您可以指定到 dump目录的完整路径:
dump
cd c:/hw1-1/
mongorestore c:/hw1-1/dump
当我有一个集合与我试图在 Mongo 中恢复的集合名称匹配时,我得到了这个错误,结果进入 Mongo 并使用 db.m101.drop ()删除了它;
如果 BSON 文件没有。Bson 文件扩展名。
通常这不是问题,因为 mongodump生成的文件具有。但是在我的例子中,我有一个 BSON 文件,它不是由 mongodump生成的,而是一个不同的文件扩展名。
mongodump
我花了一些时间来找出 mongorestore 的选项,在此之前我一直得到这个错误。
A)没有正在运行的蒙神实例。
B) mongorestore -v -host localhost:27017 --dbpath "Actual Path for the Mongo DB- set in config" "Location where the dump is"
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来加载它。
mongoexport
mongoimport
mongorestore
我的 version 3.2 windows和我的 mongorestore似乎有一个错误:
version 3.2 windows
如果我指定 /db:database_name或 /d database_name,我会得到错误:
/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