繁体   English   中英

MongoNetworkError:第一次连接时无法连接到服务器 [cluster0-shard-00-02.aprzj.gcp.mongodb.net:27017]

[英]MongoNetworkError: failed to connect to server [cluster0-shard-00-02.aprzj.gcp.mongodb.net:27017] on first connect

我正在尝试使用 Z28A3689BE95C88DD5E7A37DB5 中的 mongoose 模块与 MongoDB URL 连接,但我无法从今天早上开始连接1。 直到昨天它工作得更好。 以下是详细信息:

URI1: 'mongodb+srv://storeManagementSystem:geZZtcuZOGE2ESCF@cluster0.aprzj.gcp.mongodb.net/storeManagementSystem?retryWrites=true&w=majority'

URI2: 'mongodb://storeManagementSystem:geZZtcuZOGE2ESCF@cluster0-shard-00-00.aprzj.gcp.mongodb.net:27017,cluster0-shard-00-01.aprzj.gcp.mongodb.net:27017,cluster0-shard-00-02.aprzj.gcp.mongodb.net:27017/storeManagementSystem?ssl=true&replicaSet=atlas-a7ttlm-shard-0&authSource=admin&retryWrites=true&w=majority'

当我使用 URI1时,它会引发以下错误

MongoNetworkError: failed to connect to server [cluster0-shard-00-02.aprzj.gcp.mongodb.net:27017] on first connect [Error: getaddrinfo ENOTFOUND cluster0-shard-00-02.aprzj.gcp.mongodb.net
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
  name: 'MongoNetworkError',
  errorLabels: [Array],
  [Symbol(mongoErrorContextSymbol)]: {}
}]

当我使用 URI1时,它会引发以下错误

Error: querySrv ETIMEOUT _mongodb._tcp.cluster0.aprzj.gcp.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19)

我的方法:

  1. 我试过搜索这个问题,但没有人帮助我。 我还删除了以前的集群并尝试使用新的集群,但也没有运气。
  2. 我已将0.0.0.0/0 (includes your current IP address)添加到我的网络访问中,以便从任何地方访问它。

这是我的代码

function onListening() {
    var addr = server.address()
    var bind = typeof addr === 'string'
        ? 'pipe ' + addr
        : 'port ' + addr.port;
    ('Listening on ' + bind)
    console.log('API end url ', addr);
    logger.debug({ level: 'info', message: 'serverOnListeningHandler | server listening on port' + addr.port + ' ', applicationrefnumber: "", applicationstatus: "serverOnListeningHandler", lastviewedpage: "" });
    logger.log({ level: 'info', message: 'serverOnListeningHandler | server listening on port' + addr.port + ' ', applicationrefnumber: "", applicationstatus: "serverOnListeningHandler", lastviewedpage: "" });
    let db = mongoose.connect(appConfig.db.uri, { useNewUrlParser: true, useCreateIndex: true })
    console.log(db);
}

process.on('unhandledRejection', (reason, p) => {
    logger.log({ level: 'info', message: 'serverOnListeningHandler | Unhandled Rejection at: Promise' + JSON.stringify(p) + ' ', reason: JSON.stringify(reason), applicationstatus: "serverOnListeningHandler", lastviewedpage: "" });
    // application specific logging, throwing an error, or other logic here
})


// handling mongoose connection error
mongoose.connection.on('error', function (err) {
     logger.log({ level: 'info', message: 'mongooseConnection | Mongoose DB connection error occured' + JSON.stringify(err) + ' ', applicationrefnumber: "", applicationstatus: "mongooseConnection", lastviewedpage: "" });
    console.log('database connection error');
    console.log(err);


}); // end mongoose connection error

// handling mongoose success event
mongoose.connection.on('open', function (err) {
    if (err) {
        logger.log({ level: 'info', message: 'mongooseConnection | Mongoose DB connection error occured' + JSON.stringify(err) + ' ', applicationrefnumber: "", applicationstatus: "mongooseConnection", lastviewedpage: "" });
        console.log("database error");
        console.log(err);

    } else {
        logger.log({ level: 'info', message: 'mongooseConnection | Mongoose DB connection successfull ', applicationrefnumber: "", applicationstatus: "mongooseConnection", lastviewedpage: "" });
        console.log("database connection open success");
    }
}); // end mongoose connection open handler

希望您已将 IP 地址列入白名单?

尝试使用标准连接字符串连接并检查您现在是否能够连接?

&ssl=true添加到我的连接字符串对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM