Dragonfly

Question: How do I connect to a MongoDB replica set?

Answer

Connecting to a MongoDB replica set involves specifying the replica set name and addresses of its members in your connection string. This ensures that your application can maintain a connection to the replica set even if the primary node changes due to an election.

Connection String Format

The standard connection URI format for connecting to a replica set is:

```
mongodb://<username>:<password>@host1:port1,host2:port2,host3:port3/?replicaSet=<replicaSetName>
```

Replace <username>, <password>, host1:port1, host2:port2, host3:port3, and <replicaSetName> with your actual MongoDB username, password, the hostnames and ports of the replica set members, and the name of your replica set, respectively.

Example in Python Using PyMongo

Assuming you have PyMongo installed (pip install pymongo), you can connect to a MongoDB replica set like this:

from pymongo import MongoClient

# Replace these variables with your actual connection details
username = 'myUser'
password = 'myPassword'
replica_set_name = 'myReplicaSet'
hosts = 'host1:27017,host2:27017,host3:27017'  # comma-separated list of host:port pairs

uri = f'mongodb://{username}:{password}@{hosts}/?replicaSet={replica_set_name}'

client = MongoClient(uri)

# Now you can use `client` to interact with your database
db = client['mydatabase']
collection = db['mycollection']
print(collection.find_one())

This code snippet creates a MongoClient instance connected to the specified replica set. You can then use this client to perform operations on your MongoDB databases and collections.

Key Considerations

Following these guidelines should help you successfully connect to and work with your MongoDB replica set.

Was this content helpful?

Other Common MongoDB Performance Questions (and Answers)

White Paper

Free System Design on AWS E-Book

Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.

Free System Design on AWS E-Book

Switch & save up to 80% 

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement. Instantly experience up to a 25X boost in performance and 80% reduction in cost