Bird
Raised Fist0
MongoDBquery~5 mins

Replica set configuration basics in MongoDB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a MongoDB replica set?
A MongoDB replica set is a group of mongod processes that maintain the same data set, providing redundancy and high availability.
Click to reveal answer
beginner
What is the role of the primary node in a replica set?
The primary node receives all write operations and replicates data to secondary nodes.
Click to reveal answer
beginner
How does a secondary node in a replica set function?
A secondary node copies data from the primary and can serve read operations if configured, providing data redundancy.
Click to reveal answer
intermediate
What is the purpose of the replica set configuration document?
It defines the members of the replica set, their roles, priorities, and settings for replication behavior.
Click to reveal answer
intermediate
What happens if the primary node in a replica set fails?
The replica set automatically holds an election to select a new primary from the secondary nodes to maintain availability.
Click to reveal answer
What is the main function of the primary node in a MongoDB replica set?
AServe only read operations
BHandle all write operations
CBackup data to external storage
DMonitor network traffic
Which of the following is true about secondary nodes in a replica set?
AThey can become primary through an election
BThey reject all read operations
CThey do not replicate data
DThey control the replica set configuration
What does the replica set configuration document NOT include?
AMember roles and priorities
BReplication settings
CList of replica set members
DUser authentication credentials
How does a replica set maintain high availability?
ABy automatic failover and elections
BBy backing up data every hour
CBy limiting connections to one client
DBy disabling writes during failures
Which command initializes a replica set in MongoDB?
Amongo.startReplica()
Bdb.createReplica()
Crs.initiate()
Drs.start()
Explain the roles of primary and secondary nodes in a MongoDB replica set.
Think about who writes data and who copies it.
You got /4 concepts.
    Describe how a MongoDB replica set ensures data availability when a node fails.
    Focus on what happens when the primary goes down.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a MongoDB replica set?
      easy
      A. To keep multiple copies of data for safety and availability
      B. To speed up queries by using multiple CPUs
      C. To store data in different formats
      D. To backup data to an external server

      Solution

      1. Step 1: Understand what a replica set is

        A replica set is a group of MongoDB servers that keep copies of the same data.
      2. Step 2: Identify the main goal of this setup

        The main goal is to keep data safe and available by having multiple copies.
      3. Final Answer:

        To keep multiple copies of data for safety and availability -> Option A
      4. Quick Check:

        Replica set purpose = data safety and availability [OK]
      Hint: Replica sets keep data copies for safety and uptime [OK]
      Common Mistakes:
      • Thinking replica sets speed up queries directly
      • Confusing replica sets with backups
      • Assuming replica sets change data formats
      2. Which command correctly initiates a replica set with one member named 'mongo1'?
      easy
      A. rs.start({ _id: 'rs0', members: ['mongo1'] })
      B. rs.initiate({ _id: 'rs0', members: [{ _id: 0, host: 'mongo1:27017' }] })
      C. replicaSet.create({ name: 'rs0', nodes: ['mongo1'] })
      D. initReplicaSet({ id: 'rs0', hosts: ['mongo1:27017'] })

      Solution

      1. Step 1: Recall the correct syntax for initiating a replica set

        The command is rs.initiate() with a config object including _id and members array.
      2. Step 2: Check the options for correct syntax and fields

        rs.initiate({ _id: 'rs0', members: [{ _id: 0, host: 'mongo1:27017' }] }) uses rs.initiate with _id and members array with _id and host fields correctly.
      3. Final Answer:

        rs.initiate({ _id: 'rs0', members: [{ _id: 0, host: 'mongo1:27017' }] }) -> Option B
      4. Quick Check:

        rs.initiate with config object = correct syntax [OK]
      Hint: Use rs.initiate with _id and members array for setup [OK]
      Common Mistakes:
      • Using wrong command names like rs.start or initReplicaSet
      • Passing members as simple strings instead of objects
      • Missing port number in host field
      3. Given this replica set config:
      rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'mongo1:27017' }, { _id: 1, host: 'mongo2:27017' } ] })

      What will be the state of the second member immediately after initiation?
      medium
      A. ARBITER
      B. SECONDARY
      C. PRIMARY
      D. STARTUP

      Solution

      1. Step 1: Understand member states after rs.initiate()

        After initiation, members start in STARTUP state before election completes.
      2. Step 2: Identify the initial state of the second member

        The second member will be in STARTUP state until it syncs and elections finish.
      3. Final Answer:

        STARTUP -> Option D
      4. Quick Check:

        New members start as STARTUP before becoming SECONDARY [OK]
      Hint: New members start in STARTUP state before election [OK]
      Common Mistakes:
      • Assuming member is immediately PRIMARY or SECONDARY
      • Confusing ARBITER with normal members
      • Ignoring the startup phase after initiation
      4. You run rs.initiate() but get an error: "members array is missing or empty." What is the likely cause?
      medium
      A. You did not provide a members array in the config object
      B. You used the wrong command name
      C. You included an invalid port number
      D. You forgot to start the mongod service

      Solution

      1. Step 1: Analyze the error message

        The error says the members array is missing or empty, meaning the config lacks members.
      2. Step 2: Match error to common causes

        Not providing the members array in rs.initiate config causes this error.
      3. Final Answer:

        You did not provide a members array in the config object -> Option A
      4. Quick Check:

        Missing members array = error message [OK]
      Hint: Always include members array in rs.initiate config [OK]
      Common Mistakes:
      • Ignoring the need for members array
      • Assuming wrong command name causes this error
      • Thinking service not started causes this error
      5. You want to add a third member as an arbiter to your replica set. Which configuration snippet correctly adds it?
      hard
      A. { _id: 2, host: 'mongo3:27017', votes: 0 }
      B. { _id: 2, host: 'mongo3:27017', priority: 2 }
      C. { _id: 2, host: 'mongo3:27017', arbiterOnly: true }
      D. { _id: 2, host: 'mongo3:27017', hidden: true }

      Solution

      1. Step 1: Understand arbiter configuration

        An arbiter member is configured with the field arbiterOnly set to true.
      2. Step 2: Identify the correct option

        { _id: 2, host: 'mongo3:27017', arbiterOnly: true } sets arbiterOnly: true, which correctly marks the member as an arbiter.
      3. Final Answer:

        { _id: 2, host: 'mongo3:27017', arbiterOnly: true } -> Option C
      4. Quick Check:

        ArbiterOnly true = arbiter member [OK]
      Hint: Use arbiterOnly: true to add an arbiter member [OK]
      Common Mistakes:
      • Using priority or votes fields incorrectly for arbiters
      • Confusing hidden members with arbiters
      • Not setting arbiterOnly to true for arbiters
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard