удалить всю базу данных с помощью одной команды восстановления дампа mongodb

Я пытаюсь восстановить дамп каталога mongodb.

я делаю

mongorestore --db mydb --drop path/to/mydb/dump

Но оба не могут восстановить состояние моего дампа. Любые новые записи видны даже после восстановления БД.

Но в консоли ошибка не отображается.


person codeofnode    schedule 15.03.2014    source источник
comment
сначала удалите таблицы, если вам не нужны старые данные.   -  person Sammaye    schedule 15.03.2014
comment
вот почему я использую --drop в команде, но все равно видны новые записи   -  person codeofnode    schedule 15.03.2014
comment
как я должен удалить все коллекции (или удалить всю базу данных) в рамках приведенной выше команды, а затем восстановить дамп   -  person codeofnode    schedule 15.03.2014
comment
Пожалуйста, направляйте свои вопросы по администрированию на dba.stack.exchange.com. Stack Overflow предназначен для тем по программированию.   -  person Neil Lunn    schedule 16.03.2014


Ответы (1)


Я не видел ответа, и у меня был тот же вопрос сегодня.

Вы можете удалить базу данных раньше:

use <db>
db.dropDatabase()

Или вы можете удалить коллекцию только с помощью:

db.<collection>.drop()

Проблема с вашей командой может заключаться в том, что что-то пропущено, например, база данных, с которой вы аутентифицируетесь, или пользователь, или, может быть, что-то еще.

В моей настройке это работает

mongorestore --username=<user> --db=<database> --authenticationDatabase=<database> --dir=<dumpdir> --drop

Если ваш дамп был предварительно заархивирован, вы можете добавить флаг --gzip в конце.

Все это можно найти в документации по удалению базе данных или в документации об удалении целая база данных. Но, пожалуйста, будьте осторожны с ним.

person Horsty    schedule 05.03.2019