簡體   English   中英

一個db的Mongorestore給我帶來了麻煩

[英]Mongorestore of a db causing me trouble

我是MongoDB的新手,我很難備份我的本地數據庫並在我的服務器上恢復它。 我在Mongo的網站上找到了鏈接: http//www.mongodb.org/display/DOCS/Import+Export+Tools,但我仍然遇到了恢復問題。

當我做備份時,我打電話

mongodump --db Gen

然后我看到所有集合都轉儲到/bin/dump/Gen文件夾中

我從本地復制粘貼到調用同一文件夾中的服務器

mongorestore --db Gen --drop --dbpath dump/Gen

但是我得到以下內容: Error : root directory must be a dump of a single database when specifying a db name with --db

好的,我發現我做錯了什么:

我在做

mongorestore --db Gen --drop --dbpath dump/Gen

但沒有--dbpath它就可以了!

mongorestore --db Gen --drop dump/Gen

感謝大家!

我認為當你試圖移動它時,你的文件夾結構可能會搞砸了。 例如,這對我有用:

$ ./mongodump --db Gen
$ ./mongorestore --db Gen --drop dump/Gen/

你能嘗試不移動轉儲目錄,還是從/ bin / dump / Gen恢復?

您指定的目錄中應包含.bson文件,例如,

$ ls /bin/dump/Gen
foo.bson  bar.bson  baz.bson

這最終為我工作( mydb是我的數據庫的名稱):

mongorestore --drop -db mydb mydbbackup/mydb/

在我的mongodump

mongodump -d mydb -o mydbbackup

對於任何不想被錯誤“root目錄驅動的人,在使用--db指定數據庫名稱時必須轉儲單個數據庫”的附加說明

指定--db且不指定--collection(還原整個數據庫)時: - 給定路徑必須是目錄路徑 - 該目錄不得包含除.bson或.json之外的任何其他文件。 我花了一段時間才意識到隱藏的.svn文件夾(如果你使用SVN)會弄亂腳本

它必須是轉儲目錄中的任何其他目錄。 因此,首先刪除目錄並重新運行命令mongorestore -d db dump/db

例:

./mongorestore -d db -c mycollection dump/db

將引發以下錯誤

ERROR: ERROR: root directory must be a dump of a single collection
ERROR:        when specifying a collection name with --collection

您可以刪除-c選項以轉發此錯誤.Beacuse dump / db指定數據庫,但不指定集合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM