MongoNetworkError:无法连接到服务器

时间:2019-02-04 09:50:13

标签: node.js mongodb mongoose mlab

第一次在Node.js应用程序内使用mongoDb(使用mLab),但无法连接。 如果我尝试连接到mongoDB Atlas,则完全相同的代码也可以正常工作。

 // not working with mLab link and credentials
 mongoose.connect(mLabConnectionString)
 .then(success => console.log(success))
 .catch(error => console.log(error))

 // working with atlas link and credentials
 mongoose.connect(atlasConnectionString)
 .then(success => console.log(success))
 .catch(error => console.log(error))

遵循以下步骤https://docs.mlab.com/troubleshooting-connection-issues/ 而且我确实具有网络访问权限,我使用数据库用户凭据进行连接(而不是我的mLab帐户凭据),并且我的密码仅包含字符和数字。那就是我得到的错误:

{ MongoNetworkError: failed to connect to server [***my_database***] 
on first connect [MongoNetworkError: getaddrinfo ENOTFOUND ***my_database*** ***my_database***]
at Pool.<anonymous> (C:\Users\akain\Desktop\devconnector\node_modules\mongodb-core\lib\topologies\server.js:564:11)
at Pool.emit (events.js:182:13)
at Connection.<anonymous> (C:\Users\akain\Desktop\mongotest\node_modules\mongodb-core\lib\connection\pool.js:317:12)
at Object.onceWrapper (events.js:273:13)
at Connection.emit (events.js:182:13)
at Socket.<anonymous> (C:\Users\akain\Desktop\mongotest\node_modules\mongodb-core\lib\connection\connection.js:246:50)
at Object.onceWrapper (events.js:273:13)
at Socket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }

现在很奇怪的部分:如果我尝试使用mongo shell连接到mLab,不仅一切都可以(从shell)进行,而且我也可以从我的应用程序毫无问题地进行连接。关闭外壳并重新启动应用程序后,我会再次收到错误消息。

我还尝试过使用mongoDb Node客户端代替猫鼬获得完全相同的行为。

0 个答案:

没有答案
相关问题