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é
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}.*"