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)]: {}
}
You Can Solve This Problem By Going into Your Network Access Panel
Then Click 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
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
I had this similar problem. 'Go to network access' -> 'IP whitelist' -> you can only connect to your cluster from those IP addresses , so if your IP is not present in that list
Then Click the 'Add IP address' Button-> in there click the button 'Add your current IP address'.
The main problem here is with Mongodb Atlas
. The method that worked for
me was to delete the existing IP address in network section of Mongodb
Atlas, and add it again.
This is probably because the IP of your machine changes, it should not happen in production, but to fix it you need to go to the network access pannel -> Add IP Address and click on "Add this IP address" and it´s going to work, until it changes again.