Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb mongorestore错误:Don';我不知道如何处理转储文件_Mongodb_Mongo Shell - Fatal编程技术网

Mongodb mongorestore错误:Don';我不知道如何处理转储文件

Mongodb mongorestore错误:Don';我不知道如何处理转储文件,mongodb,mongo-shell,Mongodb,Mongo Shell,我已将mongo DB安装在以下路径c:\mongodb\bin。我已在高级设置中配置了环境变量路径。我还运行了mongod。当我从以下路径c:\hw1-1\dump(其中包含BSON文件)运行以下命令mongorestore dump时,我收到此错误: 不知道如何处理转储文件 我已参考以检查我的路径。您可能看到此错误: 错误:不知道如何处理文件[dump] 这意味着在本例中,当前工作目录中没有名为dump的文件或目录。因此,请首先尝试此cd c:/hw1-1/(或者,无论Windows上的语法

我已将mongo DB安装在以下路径
c:\mongodb\bin
。我已在高级设置中配置了环境变量路径。我还运行了mongod。当我从以下路径
c:\hw1-1\dump
(其中包含BSON文件)运行以下命令mongorestore dump时,我收到此错误:

不知道如何处理转储文件


我已参考以检查我的路径。

您可能看到此错误:

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

这意味着在本例中,当前工作目录中没有名为
dump
的文件或目录。因此,请首先尝试此
cd c:/hw1-1/
(或者,无论Windows上的语法是否正确,我都无法测试它。)或者,您可以指定
转储
目录的完整路径:

mongorestore c:/hw1-1/dump

当我有一个集合与我在Mongo中试图还原的集合的名称相匹配时,我遇到了这个错误,最终进入Mongo并使用db.m101.drop()删除它

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


一般来说,这不是问题,因为
mongodump
生成扩展名为.bson的文件,但在我的例子中,我有一个不是由
mongodump
生成的bson文件,并且具有不同的文件扩展名。

我花了一些时间来找出mongorestore的选项,在我一直犯这个错误一段时间之后

a) 没有运行mongod的实例

b)
mongorestore-v-host localhost:27017--dbpath“Mongo DB的实际路径-在配置中设置”“转储位置”

使用dbpath,可以在不运行任何mongod版本的情况下运行此命令。
这就解决了我的错误

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

mongorestore -d [your_db_name] [your_dump_dir]

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

我使用的是
3.2版windows
,我的
mongorestore
似乎有一个bug:

如果我指定
/db:database\u name
/d database\u name
我会得到错误:

don't know what to do with subdirectory "dump\database_name", skipping...
相反,如果我让它在整个转储目录上运行,它似乎可以工作。我使用的命令是:

mongorestore/host:remote\u主机转储

我当前的目录结构是:

.
..
dump
dump\database_name

谢谢c:/hw1-1 mongorestore dump工作正常。此命令与uri连接字符串结合使用,我成功了。我正在使用windows 3.0.3版,并指定了数据库名称!谢谢@clevertension.在3.0.6上也很有魅力。这是我升级
mongodb工具后遇到的问题,谢谢!这对我来说很有效,使用了如下身份验证:
mongorestore-u k00k-p 1337p455w0rd-d mydb./dump/mydb
这是一个旧答案。在较新的版本中,在许多情况下不能指定
--db
-d
)参数。这就是我当前还原它的方式:
mongorestore--nsFrom=fromdbname.*--nsTo=todbname.*您的dumpfolder/
当您使用gzip时,需要进一步提供
--gzip
参数,如果您想覆盖内容,可以添加
--drop
参数。如何还原没有.bson扩展名的文件?(.rdb在我的例子中)我在扩展名为
.bson
的文件上遇到了这个毫无帮助的错误:
不知道如何处理文件“dump/mydb/users.bson”,跳过…
所有的答案都是不同的,因为所有这些错误实际上意味着您的一些标志不正确。哪些标志不正确将取决于您的恢复内容和恢复位置。使用
mongodump--help
获取实例上当前标志的列表,以调试此问题。是的,这是我使用
mongoexport
后的魔杖。我只需要在上面加一个额外的目录就行了,哈哈