无法将 Mongoose 连接到 Atlas

Fail to connect Mongoose to Atlas

我总是连接到 "admin" 数据库,它是 fixed bug

使用 Mongoose 5.0.6 MongoDb 3.6 并尝试连接到 Atlas。

  1. 请问Mongoose 5.0.6依赖什么驱动?
  2. 我如何知道 Mongoose 何时会修复该问题?
  3. 在不同的方向上,有没有办法连接 MongoDB 然后用这个连接 猫鼬?

干杯

基本上你应该尝试连接你的 url link,并在 mongoose 连接方法上指定数据库名称 所以如果你的集群 link 是:

mongodb+srv://userName:Passwrod@clustor.mongodb.net/

您的数据库名称是:

testDB

那么你应该调用mongoose.connect方法如下:

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

当您将此连接字符串用于 (MongoShell 3.6+) 时建立连接:

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

但是,如果不在 mongoose.connect() 中输入 DBName,您将无法 read/write 数据。

mongoose.connect(uri, { dbName: <your DB name> })
  .then( () => {
    console.log('Connection to the Atlas Cluster is successful!')
  })
  .catch( (err) => console.error(err));

如果您在连接到 MongoDB Atlas 时遇到错误,请注意:

  1. 您已将我们的 IP 地址/所有 (0.0.0.0/0) 列入白名单
  2. 您的凭据是正确的
  3. 防火墙/防病毒软件被禁用

如果都失败了

  1. 确保您的 DNS 是 public。或者将其更改为 Google 的 public DNS。 抛出一个 link 相同的: https://www.youtube.com/watch?v=F9u5ULrRt3Y

祝你好运!