【发布时间】: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