MongoServerSelectionError: connection timed out


my Mongo connection seems to time out everyday, after about 7-10 hours of my app running with the error:

MongoServerSelectionError: connection timed out
    at Timeout._onTimeout (/opt/discord/node_modules/mongodb/lib/sdam/topology.js:292:38)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7) {
  reason: TopologyDescription {
    type: 'ReplicaSetNoPrimary',
    servers: Map(3) {
      '***' => [ServerDescription],
      '***' => [ServerDescription],
      '***' => [ServerDescription]
    stale: false,
    compatible: true,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    setName: 'atlas-gxcew9-shard-0',
    maxElectionId: new ObjectId("7fffffff0000000000000081"),
    maxSetVersion: 7,
    commonWireVersion: 0,
    logicalSessionTimeoutMinutes: null
  code: undefined,
  [Symbol(errorLabels)]: Set(0) {}

I connect doing:

const url = `mongodb+srv://${environment.mongodb.username}:${environment.mongodb.password}@${}/app_logs?retryWrites=true&keepAlive=true`;
this.client = new MongoClient(url, {
      loggerLevel: LoggerLevel.ERROR,

await this.client.connect();
await this.client.db('app_logs').command({ ping: 1 });

My app runs in a Docker container. I’ve read something about whitelisting the IPs but if I could have some instructions on how to accomplish this with Docker, that’d be very much appreciated.

I’m running Node v16.6.1, Docker 3.8 and Mongo package v4.13.0

Thank you