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版本。 这解决了我的错误。