Error fix
How to fix “MongoDB server selection timeout”
The driver could not pick a server in time—replica set issues, DNS, or firewall rules.
Updated Apr 20, 2026
Tools that help with this
Fastest fix
Start here first. Step 1 fixes most cases—then work down the list.
- Reproduce with the smallest URL/command and capture full stderr or response body.
- Confirm versions (runtime, CLI, framework) against official requirements.
- Compare with CI or a second machine to rule out local-only issues.
What this means
The driver could not pick a server in time—replica set issues, DNS, or firewall rules. Use the steps below as a practical checklist—adapt commands to your OS and stack.
Common causes
Environment mismatch
Different Node/OS versions, missing env vars, or drift between local and deployed configs.
Bad inputs or timing
Race conditions, partial deploys, or hitting endpoints before dependencies are ready.
Step-by-step fix
Isolate and verify
- Reproduce with the smallest URL/command and capture full stderr or response body.
- Confirm versions (runtime, CLI, framework) against official requirements.
- Compare with CI or a second machine to rule out local-only issues.
Related
FAQ
- Is this tailored to my exact stack?
- These pages are structured guides. Swap in your package manager, paths, and hosting dashboard names.
- What should I paste into support?
- Full error text, timestamps, versions, and whether it reproduces in a clean profile or container.
- Can I share this page?
- Yes—each fix has a stable URL. Use “Copy fix link” on the page for teammates.
Fix related issues
Still stuck? Try these related fixes next.
- Docker: no space left on deviceThe daemon or image layers filled the disk—prune images, volumes, or expand the host disk.
- Redis connection refusedRedis isn’t running or you’re pointing at the wrong host/port in this environment.
- Stripe invalid API keyThe key is wrong, revoked, or for a different mode (test vs live).
- SQLite SQLITE_BUSYConcurrent writers or long transactions held the lock—common in dev with hot reload.
- PostgreSQL connection refusedNothing is listening on the Postgres port—service down, wrong port, or Docker networking.
Edit your error
Tweak the message and run again—we'll match an existing fix or generate a new page.
Original error message
MongoServerSelectionError: connection timed out
