Skip to main content

MongoDB Maintenance Backup Strategies

bash

mongodump - Full database backup

mongodump --host localhost:27017 --out /backup/mongodb/$(date +%Y%m%d)

mongodump with compression

mongodump --gzip --archive=/backup/mongodb/backup-$(date +%Y%m%d).gz

Replica set backup

mongodump --host rs0/mongo1:27017,mongo2:27017,mongo3:27017 --readPreference secondary Restore Operations

bash
# mongorestore - Restore from backup
mongorestore --host localhost:27017 /backup/mongodb/20240101
# Restore from compressed archive
mongorestore --gzip --archive=/backup/mongodb/backup-20240101.gz

Index Maintenance

javascript
// Index management
db.collection.getIndexes()
db.collection.createIndex({ field: 1 })
db.collection.dropIndex({ field: 1 })
// Index statistics
db.collection.stats().indexSizes
db.collection.aggregate([{$indexStats: {}}])

Replica Set Maintenance

javascript
// Replica set status
rs.status()
rs.config()
// Add/remove replica set members
rs.add("mongo4:27017")
rs.remove("mongo4:27017")
// Reconfigure replica set
rs.reconfig(config)