2016-03-31 19 views
13

In MongoDB, è possibile scaricare un database e ripristinare il contenuto in un altro database? Ad esempio:Mongorestore su un altro database

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

Ma non funziona. Ecco il messaggio di errore:

costruzione di un elenco di collezioni per il ripristino da dumpdir dir

non sanno cosa fare con sottodirectory "dumpdir/DB1", saltare ...

fatto

risposta

32

È necessario puntare in realtà nella directory "database name" container "dentro" la directory di output dalla discarica precedente:

mongorestore -d db2 dumpdir/db1 

E di solito solo < percorso> va bene come argomento posizionale anziché con -dir che sarebbe necessario solo quando "fuori posizione" i.e "nel mezzo dell'elenco degli argomenti".

p.s. Per il file di backup di archivio (tested con mongorestore v3.4.10)

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

Grazie! Questo ha funzionato. Penso che si debba specificare la sottodirectory nella cartella dump quando si usa l'opzione '-d' e la cartella dump stessa quando non si usa' -d'. Questo è tutto. – Cyker

+3

Puoi suggerire una soluzione per i dump archiviati (--gzip --archive)? –

+0

@SergioRykov Sembra che questo sia un bug noto https://jira.mongodb.org/browse/TOOLS-1234 e verrà risolto in 3.3.10. Al momento non c'è supporto per questo. – Philiiiiiipp

Problemi correlati