2016-03-31 8 views
13

In MongoDB ist es möglich, eine Datenbank zu sichern und den Inhalt in einer anderen Datenbank wiederherzustellen? Zum Beispiel so:Mongorestore in eine andere Datenbank

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

Aber es funktioniert nicht. Hier ist die Fehlermeldung:

eine Liste der Sammlungen Gebäude zu restaurieren aus dumpdir dir

nicht wissen, was mit Unterverzeichnis „dumpdir/db1“ zu tun, das Überspringen ...

getan

Antwort

32

Sie müssen zeigen tatsächlich am "database name" container Verzeichnis „innerhalb“ das Ausgabeverzeichnis aus dem vorherigen dump:

mongorestore -d db2 dumpdir/db1 

Und in der Regel nur < Pfad> ist in Ordnung als Position Argument und nicht mit -dir, die nur benötigt werden, wenn "out of Position", dh "in der Mitte der Liste der Argumente".

p.s. Für Archiv-Backup-Datei (tested mit mongorestore v3.4.10)

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

Vielen Dank! Das hat funktioniert. Ich denke, man muss das Unterverzeichnis im Dump-Ordner angeben, wenn man die '-d'-Option benutzt, und den Dump-Ordner selbst, wenn man' -d' nicht benutzt. Das ist es. – Cyker

+3

Können Sie eine Lösung für archivierte Dumps vorschlagen (--gzip --archive)? –

+0

@SergioRykov Scheint so, als wäre dies ein bekannter Bug https://jira.mongodb.org/browse/TOOLS-1234 und wird in aufgelöst. 3.3.10. Im Moment gibt es dafür keine Unterstützung. – Philiiiiiipp

Verwandte Themen