дамп mongodb и канал к другому имени базы данных

Версия монгодб 3.2.12. У меня есть две локальные базы данных: «base1» и «base2».

Я хочу скопировать все данные (все коллекции) из базы 1 в базу 2, заменив все там (например, при сбросе производства в среду разработки).

Любая команда канала (или другой простой способ) сделать это?

Я попытался

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

перечисляет много «записи base1.collectionname в архив на стандартный вывод», но ничего не записывается в base2.

я тоже пробовал

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

Дамп работает, восстановление просто говорит "создание намерений для архива", "готово"


person henit    schedule 23.05.2017    source источник


Ответы (2)



Я использую следующие команды:

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

и

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}
person Bor Laze    schedule 23.05.2017