20

我总是连接到“管理员”数据库,这是一个固定的错误

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

  1. 我的问题,Mongoose 5.0.6 依赖什么驱动程序?
  2. 我怎样才能知道 Mongoose 什么时候会有这个修复?
  3. 在不同的方向上,有没有办法与 MongoDB 连接,然后将此连接与 Mongoose 一起使用?

干杯

4

3 回答 3

51

基本上,您应该尝试使用您的 url 链接进行连接,并在 mongoose 连接方法上指定数据库名称,因此如果您的集群链接是:

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

您的数据库名称是:

testDB

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

mongoose.connect('mongodb+srv://userName:Passwrod@cluster.mongodb.net/', {dbName: 'testDB'});
于 2018-02-22T00:13:21.907 回答
3

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

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

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

mongoose.connect(uri, { dbName: <your DB name> })
  .then( () => {
    console.log('Connection to the Atlas Cluster is successful!')
  })
  .catch( (err) => console.error(err));
于 2019-01-08T12:59:15.243 回答
2

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

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

如果一切都失败了

  1. 确保您的 DNS 是公共的。或者也许将其更改为 Google 的公共 DNS。抛出相同的链接: https ://www.youtube.com/watch?v=F9u5ULrRt3Y

祝你好运!

于 2020-05-15T08:03:09.230 回答