DBAtlas · Атлас эксплуатации баз данных

Архивный бэкап через mongodump/mongorestore и восстановление одной коллекции

MongoDBБэкап

Команда

# Single database, one compressed archive file (password is prompted):
mongodump --uri="mongodb://admin@mongo1:27017/?authSource=admin" --db=shop --gzip --archive=/backup/shop_$(date +%F).archive.gz
# Dry run before restoring the archive under a different name:
mongorestore --uri="mongodb://admin@mongo1:27017/?authSource=admin" --gzip --archive=/backup/shop_2026-10-08.archive.gz --nsFrom="shop.*" --nsTo="shop_restore.*" --dryRun
# Restore a single collection from the archive under a new name:
mongorestore --uri="mongodb://admin@mongo1:27017/?authSource=admin" --gzip --archive=/backup/shop_2026-10-08.archive.gz --nsInclude="shop.musteri" --nsFrom="shop.*" --nsTo="shop_restore.*" --numInsertionWorkersPerCollection=4
# Restore under the same name, dropping the existing collection:
mongorestore --uri="mongodb://admin@mongo1:27017/?authSource=admin" --gzip --archive=/backup/shop_2026-10-08.archive.gz --nsInclude="shop.musteri" --drop

Что делает

Создаёт резервную копию базы в одном архивном файле gzip; восстанавливает из архива всю базу или одну коллекцию, при необходимости под другим именем (nsFrom/nsTo).

Когда использовать

Для логических бэкапов, переноса данных между средами или восстановления одной коллекции, ошибочно удалённой или повреждённой.

Внимание

mongodump — логический бэкап: на больших объёмах он медленный, а индексы при восстановлении перестраиваются. Дамп без --oplog на работающей системе не согласован на момент времени. --drop удаляет целевую коллекцию перед началом восстановления; сначала восстановите под другим именем через nsTo и проверьте. Восстановление пишет на primary и может вызвать отставание репликации.

Открыть в DBAtlas →

Связанные материалы