Fail to connect Mongoose to Atlas
Asked Answered
M

3

20

I'm always connecting to the "admin" DB, which is a fixed bug.

Using Mongoose 5.0.6 MongoDb 3.6 and trying to connect to Atlas.

  1. My question, what driver Mongoose 5.0.6 depend on?
  2. How can I find out when Mongoose will have that fix?
  3. On a different direction, is there a way to connect with MongoDB then use this connection with Mongoose?

Cheers

Millian answered 22/2, 2018 at 0:8 Comment(0)
W
62

Basically you should try connecting with your url link, and specify the DB name on the mongoose connect method so if your cluster link is:

mongodb+srv://userName:[email protected]/

and your DB name is:

testDB

then you should call the mongoose.connect method as follows:

mongoose.connect('mongodb+srv://userName:[email protected]/', {dbName: 'testDB'});
Wertz answered 22/2, 2018 at 0:13 Comment(5)
Awesome! Thanks!Millian
I'm getting this error :/ events.js:160 throw er; // Unhandled 'error' event ^ Error: No valid replicaset instance servers foundBrookner
@MisirJafarov are you trying to connect to an atlas instance which have replicasets?Wertz
@ChaiHalfon sorry but actually I don't know what's replicaset :/ I'm new to MongoDB.Brookner
i fixed it by updating mongooseBrookner
N
4

Connection is established when you use this connection string for (MongoShell 3.6+) :

var connDB = "mongodb+srv://<username>:<password>@cluster-fax0w.mongodb.net/test"

However, you will not be able to read/write data without entering the DBName in the mongoose.connect().

mongoose.connect(uri, { dbName: <your DB name> })
  .then( () => {
    console.log('Connection to the Atlas Cluster is successful!')
  })
  .catch( (err) => console.error(err));
Ned answered 8/1, 2019 at 12:59 Comment(0)
T
2

Just a side note if you ever get an error connecting to the MongoDB Atlas make sure:

  1. You've whitlisted our IP address / all (0.0.0.0/0)
  2. Your credentials are right
  3. Firewall / anti-virus are disabled

And if all fails

  1. Make sure your DNS is a public one. Or maybe change it to Google's public DNS. Throwing a link for the same: https://www.youtube.com/watch?v=F9u5ULrRt3Y

Goodluck!

Towny answered 15/5, 2020 at 8:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.