2016-03-31 6 views
13

В MongoDB можно ли сбросить базу данных и восстановить содержимое в другую базу данных? Например, например:Mongorestore в другую базу данных

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

Но это не сработает. Вот сообщение об ошибке:

строит список коллекций для восстановления DUMPDIR реж

не знаю, что делать с подкаталоге «DUMPDIR/DB1», пропуская ...

сделано

ответ

32

Вы должны фактически указывать на "database name" container директории «в» каталоге вывода из предыдущего дампа:

mongorestore -d db2 dumpdir/db1 

И обычно просто < path> отлично подходит как позиционный аргумент, а не с -dir, который понадобится только тогда, когда «вне позиции» i.e «находится в середине списка аргументов».

p.s. Для архивного файла резервной копии (tested с mongorestore v3.4.10)

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

Спасибо! Это сработало. Я думаю, что нужно указать подкаталог в папке дампа при использовании опции '-d' и самой папки дампа, когда вы не используете' -d'. Вот и все. – Cyker

+3

Можете ли вы предложить решение для архивных свалков (--gzip --archive)? –

+0

@SergioRykov Похоже, что это известная ошибка https://jira.mongodb.org/browse/TOOLS-1234 и будет разрешена в 3.3.10. На данный момент поддержки нет. – Philiiiiiipp

 Смежные вопросы

  • Нет связанных вопросов^_^