2016-03-31 12 views
13

Czy w MongoDB można zrzucić bazę danych i przywrócić zawartość do innej bazy danych? Na przykład:Mongorestore do innej bazy danych

mongodump --db db1 --out dumpdir 
mongorestore --db db2 --dir dumpdir 

Ale to nie działa. Oto komunikat błędu:

tworzenie listy zbiorów przywrócić z dumpdir reż

nie wiem co zrobić z podkatalogu „dumpdir/db1”, omijając ...

zrobić

Odpowiedz

32

trzeba rzeczywiście wskazują na katalogu "database name" container „w” katalogu wyjściowego z poprzedniej wysypisko:

mongorestore -d db2 dumpdir/db1 

I zwykle po prostu < ścieżka> jest w porządku jako argument pozycyjny, a nie z -dir, który byłby potrzebny tylko wtedy, gdy "pozycja poza pozycją", tj. "W środku listy argumentów".

p.s. W przypadku pliku kopii zapasowej archiwum (tested z mongorestore v3.4.10)

mongorestore --gzip --archive=${BACKUP_FILE_GZ} --nsFrom "${DB_NAME}.*" --nsTo "${DB_NAME_RESTORE}.*" 
+0

Dziękujemy! To zadziałało. Myślę, że należy podać podkatalog w folderze zrzutu, gdy używa się opcji '-d' i folderu zrzutu, gdy nie używa się' -d'. to jest to! – Cyker

+3

Czy możesz zaproponować rozwiązanie dla zarchiwizowanych zrzutów (--gzip --archive)? –

+0

@SergioRykov Wydaje się, że jest to znany błąd https://jira.mongodb.org/browse/TOOLS-1234 i zostanie rozwiązany w 3.3.10. W tej chwili nie ma na to poparcia. – Philiiiiiipp