Fail to connect Mongoose to Atlas

2019-03-30 01:04发布

问题:

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

回答1:

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:Passwrod@clustor.mongodb.net/

and your DB name is:

testDB

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

mongoose.connect('mongodb+srv://userName:Passwrod@cluster.mongodb.net/', {dbName: 'yourDbName'});


回答2:

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));