【问题标题】:Connection to MongoDB Atlas Cluster error连接到 MongoDB Atlas Cluster 错误
【发布时间】:2019-05-27 02:18:25
【问题描述】:

我在通过 Node.js、express 和 mongoose 连接到我的 MongoDB Atlas 集群时遇到问题:

{ MongoNetworkError: connection 4 to mongodb-passport-auth-shard-00-00-vp7yg.mongodb.net:27017 closed
    at TLSSocket.<anonymous> (C:\Users\Vishesh\Documents\Projects\nodejs-passport-auth\node_modules\mongodb-core\lib\connection\connection.js:276:9)
    at Object.onceWrapper (events.js:273:13)
    at TLSSocket.emit (events.js:187:15)
    at _handle.close (net.js:606:12)
    at TCP.done (_tls_wrap.js:386:7)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

这是我用于通过短 SRV 连接字符串连接到集群的代码:

mongoose
  .connect(
    'mongodb+srv://myname:mypwd@myapp-vp7yg.mongodb.net/test?retryWrites=true',
    { useNewUrlParser: true }
  )
  .then(() => console.log("Connected to mongodb..."))
  .catch(err => console.log(err));

【问题讨论】:

  • 我以前从未见过这个错误,但是根据错误文本,它看起来像网络错误或mongodb端口错误,尝试将mongodb连接到不同的端口,但在此之前在不同的端口启动mongodb服务。
  • 我遇到了同样的问题。你解决了吗?对我来说,它昨天和前几天都在工作,但今天它就行不通了。它被定义为短暂的,但对我来说似乎是永久性的
  • 你是如何解决这个错误的?我在 IP 白名单0.0.0.0/0 中遇到此错误,它丢弃了答案中给出的解决方案。

标签: mongodb mongoose mongodb-atlas


【解决方案1】:

我认为您必须将您的 IP 地址添加到 mongoDB.atlas 控制台中的 IP 白名单

【讨论】:

    【解决方案2】:

    我遇到了同样的错误,这是解决此问题的解决方案。 将您的 ip 添加到 IP 白名单中。

    希望有帮助。

    【讨论】:

      【解决方案3】:

      我遇到了错误

      MongoNetworkError: connection 1 to ......-shard-00-00.b2zap.mongodb.net:27017 closed
      

      即使我在 IP 白名单中添加了允许从任何位置访问。

      添加我的 IP 地址并允许从任何地方访问后,它对我有用。

      【讨论】:

        【解决方案4】:

        更新您的 mongoose.connect 方法以避免出现弃用警告

        mongoose.connect(
          mongoAtlasUri,
          {
            useNewUrlParser: true,
            useCreateIndex: true,
            useUnifiedTopology: true,
            useFindAndModify: false,
          },
          () => console.log(" Mongoose is connected")
        );
        

        如果您不知道自己的 IP 地址,也可以使用这个 IP 地址 - 0.0.0.0/0,但建议使用您自己的 IP 地址。

        【讨论】:

          【解决方案5】:

          我最近遇到了这个问题,这是来自 altas 方面的某种错误。 即使您已允许所有存在图集的 IP,它仍然会抛出相同的错误。

          通过添加您的位置 IP 来修复它的方法。您有一个专门的白名单您自己的 IP,考虑到您已允许所有 IP,这有点奇怪。

          这对我有用,我希望这对其他人也有帮助。

          【讨论】:

            猜你喜欢
            • 2020-09-27
            • 2021-01-05
            • 1970-01-01
            • 2020-04-06
            • 1970-01-01
            • 2019-03-06
            • 2018-05-22
            • 2020-09-16
            • 2020-08-16
            相关资源
            最近更新 更多