2014-01-20 60 views
79

我有mongo數據庫安裝在以下路徑c:\mongodb\bin。我已經在先進settings.I配置我的環境變量PATH也mongod的運行。當我運行下面的命令mongorestore從以下路徑c:\hw1-1\dump(這包含BSON文件)我得到這個錯誤轉儲mongorestore錯誤:不知道如何處理轉儲文件

Don't know what to do with the dump file

我已經提到this thread檢查我的路徑。

+0

所有的答案都不同,因爲這一切的錯誤實際上是指一些你的標誌是不正確的。哪些標記是不正確的將取決於您恢復的內容以及恢復它的位置。使用'mongodump --help'來獲取實例當前標誌的列表來調試此問題。 – Liam

回答

181

MongoDB中3.0或以上時,要註明如果你使用mongoexport創建轉儲數據庫名以還原

mongorestore -d [your_db_name] [your_dump_dir] 
+0

我使用windows 3.0.3版本,並指定數據庫名稱爲我做了!謝謝@clevertension。 –

+0

在3.0.6上也很有魅力。 – sharmaap

+0

這是升級'mongodb-tools'後出現的問題,謝謝! – emyller

35

你可能看到這個錯誤:

ERROR: don't know what to do with file [dump]

這意味着在這種情況下,沒有在當前工作目錄下名爲dump文件或目錄。所以,試試這個第一cd c:/hw1-1/(或任何正確的語法是在Windows上,我無法測試它。)您也可以指定完整路徑dump目錄:

mongorestore c:/hw1-1/dump 
+0

謝謝你c:/ hw1-1 mongorestore轉儲工作正常.. –

1

,當我有我得到這個錯誤一個匹配我試圖在Mongo中恢復的名稱的集合最終進入了Mongo並使用db.m101.drop()將其刪除;

4

如果您的BSON文件沒有.bson文件擴展名,也會出現此錯誤消息「不知道如何處理文件」。

通常這不是一個問題,因爲mongodump生成帶有.bson擴展名的文件,但在我的情況下,我有一個BSON文件,它不是由mongodump生成的,並且具有不同的文件擴展名。

+1

和如何恢復沒有.bson擴展名的文件? (.rdb在我的情況下) – eagor

0

我花了一段時間才弄清楚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的任何運行的版本運行此命令。 這解決了我的錯誤。

3

,一定要使用mongoimport而非mongorestore加載它。

1

我在version 3.2 windows和我mongorestore似乎有一個bug:

如果我指定/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 
相關問題