Working with Backup Strategies

1. Using mongodump for Backup

mongodump --uri="mongodb://user:pwd@host/db" --out=/backup

2. Using mongorestore for Restore

mongorestore --uri=... /backup

3. Backing Up Specific Database

FlagDetail
--dbSingle DB
--nsIncludeGlob patterns (multi-DB)

4. Backing Up Specific Collection

FlagDetail
--collectionOne collection
--query / --queryFileFilter docs

5. Using --oplog for Point-in-Time Recovery

FlagDetail
--oplogCaptures oplog during dump for consistency
RequiresReplica set

6. Restoring with --oplogReplay

FlagDetail
--oplogReplayReplay oplog after restore
--oplogLimit tsRestore up to specific timestamp

7. Creating Filesystem Snapshots

AspectDetail
ToolLVM, EBS, ZFS snapshot
ConsistencyUse db.fsyncLock() or journal-consistent snapshots

8. Using Cloud Backup Solutions

ServiceDetail
Atlas Cloud BackupsContinuous + snapshot PIT recovery
Ops ManagerSelf-hosted equivalent

9. Backing Up Replica Sets

PracticeDetail
Hidden secondaryDedicated backup source
--oplogConsistent point-in-time

10. Backing Up Sharded Clusters

StepDetail
Stop balancerAvoid in-flight migrations
Backup config + each shardConsistent timestamps
Easier pathAtlas / Ops Manager backups

11. Implementing Backup Schedules

TierFrequency
FullDaily / weekly
Incremental (oplog)Continuous
RetentionPer RPO requirement

12. Testing Backup Restoration

PracticeDetail
Restore drillsQuarterly minimum
Verify countsCompare doc counts / checksums
App-level testSmoke-test critical queries