2017-05-23 1 views
1

Mongodb version 3.2.12. J'ai deux bases de données locales, "base1" et "base2"mongodb vidage et tuyau vers un autre nom de base de données

Je veux copier toutes les données (toutes les collections) de base1 à base2, en remplaçant tout là-bas (comme en dumping de production dans un environnement de développement).

Une commande de tuyau (ou un autre moyen simple) pour ce faire?

J'ai essayé

mongodump --archive --db base1 | mongorestore --db base2 --archive 

énumère beaucoup de "l'écriture base1.collectionname à archiver sur stdout", mais rien ne s'écrit à base2.

J'ai aussi essayé

mongodump --db base1 --gzip --archive=/path/to/file.gz 
mongorestore --db base2 --gzip --archive=/path/to/file.gz 

travaux de vidage, RESTORE juste dit "la création d'intentions pour l'archive", "fait"

Répondre

0

J'utilise les commandes suivantes:

mongodump \ 
    --host ${mongo.host} \ 
    --port ${mongo.port} \ 
    --username ${mongo.backup_restore_user} \ 
    --password ${mongo.backup_restore_password} \ 
    --db ${mongo.db} \ 
    --gzip \ 
    --dumpDbUsersAndRoles \ 
    --archive=${archive} 

et

mongorestore \ 
     --keepIndexVersion \ 
     --drop \ 
     --gzip \ 
     --restoreDbUsersAndRoles \ 
     --db ${mongo.db} \ 
     --host ${mongo.host} --port ${pims.mongo.port} \ 
     --username ${mongo.backup_restore_user} \ 
     --password ${mongo.backup_restore_password} \ 
     --archive=${archive}