我面临通过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));
答案 0 :(得分:1)
答案 1 :(得分:1)
答案 2 :(得分:1)
我遇到了错误
MongoNetworkError: connection 1 to ......-shard-00-00.b2zap.mongodb.net:27017 closed
即使我添加了允许从 IP 白名单中的任何位置访问。
添加我的 IP 地址并允许从任何地方访问后,它对我有用。
答案 3 :(得分: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地址。
答案 4 :(得分:0)
我最近遇到了这个问题,这是 altas 方面的某种错误。 即使你已经允许了所有有一个图集的 IP,它仍然会抛出同样的错误。
通过添加您的位置 IP 来修复它的方法。你有一个专门的白名单你自己的 IP 这有点奇怪,你已经允许了所有。
这对我有用,我希望这也能帮助其他人。