web-dev-qa-db-fra.com

Mongorestore dans une autre base de données

Dans MongoDB, est-il possible de vider une base de données et de restaurer le contenu dans une autre base de données? Par exemple, comme ceci:

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

Mais ça ne marche pas. Voici le message d'erreur:

construction d'une liste de collections à restaurer à partir du répertoire dumpdir

je ne sais pas quoi faire avec le sous-répertoire "dumpdir/db1", sauter ...

terminé

37
Cyker

Vous devez en fait pointer vers le répertoire "nom de la base de données" répertoire "dans" le répertoire de sortie du vidage précédent:

mongorestore -d db2 dumpdir/db1

Et généralement, <path> convient parfaitement comme argument positionnel plutôt qu'avec -dir qui ne serait nécessaire que "hors position" c'est-à-dire "au milieu de la liste des arguments".

p.s. Pour le fichier de sauvegarde d'archive ( testé avec mongorestore v3.4.10)

mongorestore --gzip --archive=${BACKUP_FILE_GZ} --nsFrom "${DB_NAME}.*" --nsTo "${DB_NAME_RESTORE}.*"
80
Blakes Seven