#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
5 min read
Question 22 of 27medium

How do you backup and restore MongoDB?

Data backup strategies.

What You'll Learn

  • Backup methods
  • Restore procedures
  • Best practices

mongodump / mongorestore

$ terminalBash
# Backup entire database
mongodump --uri="mongodb://localhost:27017/mydb" --out=/backup

# Backup specific collection
mongodump --db=mydb --collection=users --out=/backup

# With compression
mongodump --uri="mongodb://localhost:27017/mydb" --gzip --out=/backup

# Restore
mongorestore --uri="mongodb://localhost:27017" /backup/mydb

# Restore specific collection
mongorestore --db=mydb --collection=users /backup/mydb/users.bson

mongoexport / mongoimport (JSON/CSV)

$ terminalBash
# Export to JSON
mongoexport --db=mydb --collection=users --out=users.json

# Export to CSV
mongoexport --db=mydb --collection=users --type=csv --fields=name,email --out=users.csv

# Import
mongoimport --db=mydb --collection=users --file=users.json

# Import with upsert
mongoimport --db=mydb --collection=users --file=users.json --upsertFields=email

MongoDB Atlas Backup

code.jsJavaScript
- Continuous backup with point-in-time recovery
- Automated snapshots
- Cloud provider snapshots

Programmatic Backup

code.jsJavaScript
const { exec } = require('child_process');

function backup() {
  const date = new Date().toISOString().split('T')[0];
  const cmd = `mongodump --uri="${MONGO_URI}" --gzip --out=/backups/${date}`;

  exec(cmd, (error, stdout, stderr) => {
    if (error) console.error('Backup failed:', error);
    else console.log('Backup completed');
  });
}

// Schedule daily backup
setInterval(backup, 24 * 60 * 60 * 1000);

Best Practices

  • Automate regular backups
  • Test restore procedures
  • Store backups off-site
  • Use encryption for backups
  • Monitor backup completion