连接到 MongoDB Atlas Cluster 错误

Posted

技术标签:

【中文标题】连接到 MongoDB Atlas Cluster 错误【英文标题】:Connection to MongoDB Atlas Cluster error 【发布时间】: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 中遇到此错误,它丢弃了答案中给出的解决方案。 【参考方案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,这有点奇怪。

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

【讨论】:

以上是关于连接到 MongoDB Atlas Cluster 错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试将 Heroku 连接到 Atlas MongoDB 时出现问题

无法使用 MEAN 堆栈连接到 Mongodb.atlas 集群

连接到 MongoDb Atlas 服务器时出错

Kubernetes node.js 容器无法连接到 MongoDB Atlas

环回 API 连接到 MongoDB Atlas

使用mongo_dart连接到MongoDB Atlas