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 で別名にリストアして検証する。リストアはプライマリに書き込むため、レプリケーション遅延を引き起こすことがある。