Mongoose: MongoError: connection 3 to cluster0.mongodb.net:27017 closed

Created on 10 May 2017  路  6Comments  路  Source: Automattic/mongoose

I'm currently running MongoDB 3.4, NodeJS v6.10.3 and Mongoose 4.9.5.

When trying to connect to a cluster hosted through MongoDB Atlas i'm getting the following error:

1|streamdo | MongoError: connection 5 to cluster0.mongodb.net:27017 closed 1|streamdo | at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) 1|streamdo | at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) 1|streamdo | at Socket.g (events.js:292:16) 1|streamdo | at emitOne (events.js:96:13) 1|streamdo | at Socket.emit (events.js:188:7) 1|streamdo | at TCP._handle.close [as _onclose] (net.js:497:12) 0|streamdo | MongoError: connection 3 to cluster0.mongodb.net:27017 closed 0|streamdo | at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) 0|streamdo | at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) 0|streamdo | at Socket.g (events.js:292:16) 0|streamdo | at emitOne (events.js:96:13) 0|streamdo | at Socket.emit (events.js:188:7) 0|streamdo | at TCP._handle.close [as _onclose] (net.js:497:12) PM2 | App name:AppName id:1 disconnected PM2 | App [AppName] with id [1] and pid [22300], exited with code [0] via signal [SIGINT] PM2 | Starting execution sequence in -cluster mode- for app name:AppName id:1 PM2 | App name:AppName id:0 disconnected PM2 | App [AppName] with id [0] and pid [22294], exited with code [0] via signal [SIGINT] PM2 | Starting execution sequence in -cluster mode- for app name:AppName id:0 PM2 | App name:AppName id:0 online PM2 | App name:AppName id:1 online 0|streamdo | Env: production Port: 443/undefined User: root DB: cluster0.mongodb.net:27017/AppName,cluster0-01.mongodb.net:27017/AppName,cluster0.mongodb.net:27017/AppName 1|streamdo | Env: production Port: 443/undefined User: root DB: cluster0.mongodb.net:27017/AppName,cluster0-01.mongodb.net:27017/AppName,cluster0.mongodb.net:27017/AppName 1|streamdo | MongoError: connection 3 to cluster0.mongodb.net:27017 closed 1|streamdo | at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) 1|streamdo | at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) 1|streamdo | at Socket.g (events.js:292:16) 1|streamdo | at emitOne (events.js:96:13) 1|streamdo | at Socket.emit (events.js:188:7) 1|streamdo | at TCP._handle.close [as _onclose] (net.js:497:12) PM2 | App name:AppName id:1 disconnected PM2 | App [AppName] with id [1] and pid [22314], exited with code [0] via signal [SIGINT] 0|streamdo | MongoError: connection 3 to cluster0.mongodb.net:27017 closed 0|streamdo | at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) 0|streamdo | at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) 0|streamdo | at Socket.g (events.js:292:16) 0|streamdo | at emitOne (events.js:96:13) 0|streamdo | at Socket.emit (events.js:188:7) 0|streamdo | at TCP._handle.close [as _onclose] (net.js:497:12) PM2 | Starting execution sequence in -cluster mode- for app name:AppName id:1 PM2 | App name:AppName id:0 disconnected PM2 | App [AppName] with id [0] and pid [22320], exited with code [0] via signal [SIGINT] PM2 | Starting execution sequence in -cluster mode- for app name:AppName id:0

Here is my connection configuration:

mongo: { host: 'cluster0.mongodb.net:27017/f,cluster0.mongodb.net:27017/AppName,cluster0.mongodb.net:27017/AppName', options: { user: 'admin', pass: 'password', auth: { authdb: 'admin' }, db: { native_parser: true, readPreference: "primaryPreferred" }, server: { ssl: true, slaveOk: true, auto_reconnect: true, socketOptions: { keepAlive: 5, connectTimeoutMS: 10000, socketTimeoutMS: 10000 }, readPreference: "primaryPreferred" }, replset: { rs_name: 'Cluster0-shard-0', readPreference: "primaryPreferred", ha: true, socketOptions: { keepAlive: 5, connectTimeoutMS: 10000, socketTimeoutMS: 10000 } } } },

Most helpful comment

Navigate to setting add your system IP address on the white-list section. Solved.

All 6 comments

Your uri format is incorrect. Use 'mongodb://cluster0.mongodb.net:27017,cluster1.mongodb.net:27017,cluster2.mongodb.net:27017/AppName' instead.

i'm still getting the error

MongoError: connection 3 to cluster0-shard-00-01-uuid.mongodb.net:27017 closed at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:497:12) Env: production Port: 443/undefined User: root DB: mongodb://cluster0-shard-00-00-uuid.mongodb.net:27017,cluster0-shard-00-01-uuid.mongodb.net:27017,cluster0-shard-00-02-uuid.mongodb.net:27017/AppName MongoError: connection 5 to cluster0-shard-00-00-uuid.mongodb.net:27017 closed at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:497:12) Env: production Port: 443/undefined User: root DB: mongodb://cluster0-shard-00-00-uuid.mongodb.net:27017,cluster0-shard-00-01-uuid.mongodb.net:27017,cluster0-shard-00-02-uuid.mongodb.net:27017/AppName MongoError: connection 3 to cluster0-shard-00-02-uuid.mongodb.net:27017 closed at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:497:12) Env: production Port: 443/undefined User: root DB: mongodb://cluster0-shard-00-00-uuid.mongodb.net:27017,cluster0-shard-00-01-uuid.mongodb.net:27017,cluster0-shard-00-02-uuid.mongodb.net:27017/AppName MongoError: connection 3 to cluster0-shard-00-01-uuid.mongodb.net:27017 closed at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:497:12) Env: production Port: 443/undefined User: root DB: mongodb://cluster0-shard-00-00-uuid.mongodb.net:27017,cluster0-shard-00-01-uuid.mongodb.net:27017,cluster0-shard-00-02-uuid.mongodb.net:27017/AppName MongoError: connection 5 to cluster0-shard-00-00-uuid.mongodb.net:27017 closed at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:497:12) Env: production Port: 443/undefined User: root DB: mongodb://cluster0-shard-00-00-uuid.mongodb.net:27017,cluster0-shard-00-01-uuid.mongodb.net:27017,cluster0-shard-00-02-uuid.mongodb.net:27017/AppName MongoError: connection 4 to cluster0-shard-00-00-uuid.mongodb.net:27017 closed at Function.MongoError.create (/opt/AppName/node_modules/mongodb-core/lib/error.js:29:11) at Socket.<anonymous> (/opt/AppName/node_modules/mongodb-core/lib/connection/connection.js:202:22) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:497:12) Env: production Port: 443/undefined User: root DB: mongodb://cluster0-shard-00-00-uuid.mongodb.net:27017,cluster0-shard-00-01-uuid.mongodb.net:27017,cluster0-shard-00-02-uuid.mongodb.net:27017/AppName

What does the code that's printing out these errors look like?

Please check IP whitelist or firewall. My case by default Atlas mongodb allowed only my PC's IP. Hence blocked from AWS.

Navigate to setting add your system IP address on the white-list section. Solved.

White list all IPs,
IPs life matter :p

Was this page helpful?
0 / 5 - 0 ratings

Related issues

varunjayaraman picture varunjayaraman  路  3Comments

CodeurSauvage picture CodeurSauvage  路  3Comments

Igorpollo picture Igorpollo  路  3Comments

ghost picture ghost  路  3Comments

gustavomanolo picture gustavomanolo  路  3Comments