连接MongoDB Atlas集群错误。

10

我在使用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服务。 - radhey shyam
我遇到了同样的问题。你解决了吗?对我来说,它昨天和前几天都能工作,但今天就是不行。虽然它被定义为瞬态,但对我来说似乎是永久性的。 - ekkis
你是如何解决这个错误的?我在使用IP白名单“0.0.0.0/0”时遇到了这个错误,导致下面答案中给出的解决方案无法使用。 - Avani Khabiya
7个回答

21

我认为你需要将你的IP地址添加到mongoDB.atlas控制台中的IP白名单

mongoDB.atlas控制台


6

我也遇到了同样的错误,这里有一个解决方法可以解决这个问题。

在IP白名单中添加你的ip地址。

希望这可以帮助你。

输入图片描述


1

我遇到了这个错误

MongoServerSelectionError: connection to <ip-addr>:27017 closed

我通过进入 安全性 > 网络访问 > IP地址 然后删除我的IP地址并添加一个新的IP地址允许从任何地方访问来解决了这个问题。


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

1

我遇到了错误

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

即使我在IP白名单中添加了任何地方的访问权限,也无法访问。
在添加我的IP地址以及允许从任何地方访问后,它对我起作用了。

0

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

解决方法是添加您所在位置的IP地址。您需要特别将自己的IP地址加入白名单,这有点奇怪,考虑到您已经允许了所有IP。

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


0

MondoDB版本4.7.0

我在VS Code终端中遇到了以下错误。

错误-MongoServerSelectionError:连接到3.6.8.93:27017关闭

通过重新连接IP地址,我找到了解决方案。

只需从网络访问> IP访问列表>删除所选的IP地址(如果已存在),然后再次添加即可。问题解决了


0

更新你的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地址。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接