#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
6 min read
Question 11 of 27hard

What is replication in MongoDB?

Understanding replica sets.

What You'll Learn

  • What replica sets are
  • How replication works
  • Read preferences

What is a Replica Set?

A replica set is a group of MongoDB servers that maintain the same data set, providing:

  • High availability - Automatic failover
  • Data redundancy - Multiple copies
  • Read scaling - Read from secondaries

Replica Set Architecture

code.jsJavaScript
Primary
       /       \
      /         \
Secondary    Secondary
  • Primary: Receives all writes
  • Secondary: Replicate from primary
  • Arbiter: Votes in elections (no data)

How It Works

  1. Writes go to primary
  2. Primary records to oplog
  3. Secondaries replicate oplog
  4. If primary fails, election occurs
  5. New primary elected

Read Preferences

code.jsJavaScript
// Read from primary only (default)
db.users.find().readPref("primary");

// Read from primary preferred
db.users.find().readPref("primaryPreferred");

// Read from secondary
db.users.find().readPref("secondary");

// Read from nearest (lowest latency)
db.users.find().readPref("nearest");

Mongoose Configuration

code.jsJavaScript
mongoose.connect('mongodb://host1,host2,host3/mydb', {
  replicaSet: 'myReplicaSet',
  readPreference: 'secondaryPreferred'
});

Write Concern

code.jsJavaScript
// Wait for majority acknowledgment
db.users.insertOne(
  { name: "John" },
  { writeConcern: { w: "majority", wtimeout: 5000 } }
);