Primary and secondary nodes help keep your data safe and available. The primary node handles writes, and secondary nodes copy data to protect against failures.
Primary and secondary nodes in MongoDB
rs.initiate({
_id: "replicaSetName",
members: [
{ _id: 0, host: "primaryHost:port", priority: 2 },
{ _id: 1, host: "secondaryHost1:port", priority: 1 },
{ _id: 2, host: "secondaryHost2:port", priority: 1 }
]
})The rs.initiate() command starts a replica set with one primary and multiple secondary nodes.
Priority controls which node becomes primary; higher priority means higher chance.
rs.initiate({
_id: "myReplicaSet",
members: [
{ _id: 0, host: "localhost:27017", priority: 2 },
{ _id: 1, host: "localhost:27018", priority: 1 }
]
})rs.initiate({
_id: "emptySet",
members: []
})rs.initiate({
_id: "singleNodeSet",
members: [
{ _id: 0, host: "localhost:27017", priority: 1 }
]
})rs.initiate({
_id: "multiSecondarySet",
members: [
{ _id: 0, host: "primaryHost:27017", priority: 2 },
{ _id: 1, host: "secondary1:27018", priority: 1 },
{ _id: 2, host: "secondary2:27019", priority: 1 }
]
})This command starts a replica set named exampleSet with one primary node on port 27017 and two secondary nodes on ports 27018 and 27019. Then rs.status() shows which node is primary and which are secondary.
/* Connect to MongoDB shell and run this to create a replica set */ rs.initiate({ _id: "exampleSet", members: [ { _id: 0, host: "localhost:27017", priority: 2 }, { _id: 1, host: "localhost:27018", priority: 1 }, { _id: 2, host: "localhost:27019", priority: 1 } ] }) /* Check the status to see primary and secondary nodes */ rs.status()
Primary node handles all writes and replicates data to secondary nodes.
Secondary nodes replicate data from primary and can serve read requests if configured.
Failover happens automatically: if primary fails, a secondary becomes primary.
Primary node is the main server that accepts writes.
Secondary nodes copy data from primary to keep backups and help with reads.
Replica sets improve data safety and availability by having multiple nodes.