Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MongooseError [MongooseServerSelectionError]: connection <monitor> to 52.6.250.237:27017 closed

I am trying to save data in mongodb through post method and using mongodb atlas with node.js but it keeps giving me an error, I provided correct connection string and correct password. Please help in regarding this issue. Thanks.

Here is the code:

const mongoose = require('mongoose');

const monngodb_url="mongodb+srv://maarij:[email protected]/authDB?retryWrites=true&w=majority";

mongoose.connect(monngodb_url, {useNewUrlParser: true,useUnifiedTopology: true}).then(()=>{
    console.log("mongodb is connected");
}).catch((error)=>{
    console.log("mondb not connected");
    console.log(error);
});

Here is the error:

server is running on port 3000
{ name: 'myName', email: '[email protected]', password: 'abcdefg' }
mondb not connected
MongooseError [MongooseServerSelectionError]: connection <monitor> to 52.6.250.237:27017 closed
    at new MongooseServerSelectionError (D:\react-native\reactNativeBackend\node_modules\mongoose\lib\error\serverSelection.js:22:11)
    at NativeConnection.Connection.openUri (D:\react-native\reactNativeBackend\node_modules\mongoose\lib\connection.js:808:32)
    at Mongoose.connect (D:\react-native\reactNativeBackend\node_modules\mongoose\lib\index.js:333:15)
    at Object.<anonymous> (D:\react-native\reactNativeBackend\db\db.js:5:10)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Module.require (internal/modules/cjs/loader.js:848:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (D:\react-native\reactNativeBackend\index.js:4:19)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10) {
  message: 'connection <monitor> to 52.6.250.237:27017 closed',
  name: 'MongooseServerSelectionError',
  reason: TopologyDescription {
    type: 'ReplicaSetNoPrimary',
    setName: null,
    maxSetVersion: null,
    maxElectionId: null,
    servers: Map {
      'cluster0-shard-00-01-j7wis.mongodb.net:27017' => [ServerDescription],
      'cluster0-shard-00-02-j7wis.mongodb.net:27017' => [ServerDescription],
      'cluster0-shard-00-00-j7wis.mongodb.net:27017' => [ServerDescription]
    },
    stale: false,
    compatible: true,
    compatibilityError: null,
    logicalSessionTimeoutMinutes: null,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    commonWireVersion: null
  },
  [Symbol(mongoErrorContextSymbol)]: {}
}
like image 324
Maarij Bhatti Avatar asked Feb 27 '20 11:02

Maarij Bhatti


2 Answers

You Can Solve This Problem By Going into Your Network Access Panel

Network Panel

Then Click Add IP Address

Add Ip Address

& Then Fill 0.0.0.0/0 Then Click Confirm

Don't Do this in Production But in Development, it will Work

like image 68
Akash Avatar answered Nov 15 '22 11:11

Akash


I had the same issue but I success to fix it. On your MongoDB account, check the IP you choose to connect your application.

If you start working on a initial IP and try to work using another IP address it won't work.

In mongoDB:

NetworkAccess/ (verify the IP you registered is the same than this your actually used). You can select : Add IP address

like image 25
Mehdi Berra Avatar answered Nov 15 '22 13:11

Mehdi Berra