无法连接到mongoDB数据库错误。 queryTxt ETIMEOUT群集0-69fzw.mongodb.net

时间:2020-05-23 17:34:00

标签: node.js mongodb mongoose

我正在将Node.js与MongoDB用作数据库并使用Mongoose。休息几天后,我就开始工作了。现在,每当我尝试运行Server.js(服务器文件)时,都会给我一个错误:

无法连接数据库错误:queryTxt ETIMEOUT cluster0-69fzw.mongodb.net

我没有遇到任何互联网连接问题,但是无法连接数据库。

这是我的Keys.js代码,其中提供了连接字符串

module.exports = {
mongoURI:
"mongodb+srv://yasir:<password>@cluster0-fxwlb.mongodb.net/test? 
retryWrites=true&w=majority"
//copied connection string,
};

While my Server.js file is  

const database = require("./keys/keys").mongoURI;
const port = process.env.port || 3000;

mongoose
.connect(database, { useNewUrlParser: true, useUnifiedTopology: true })
.then((data) => {
console.log("Database Connected ");
})
.catch((err) => {
console.log("Couldn't Connect Database " + err);
});

1 个答案:

答案 0 :(得分:0)

首先,如果将连接字符串更改为mongodb://,则将其恢复为mongodb+srv://

我成功使用以下命令连接到mongodb实例:

  1. 配置了帐户
  2. 从数据库作为服务平台获取连接字符串,如下所示:

mongodb + srv:// [用户]:[密码] @ cluster0-xxxx.mongodb.net / test?retryWrites = true&w = majority

  1. 请注意,方括号将我的帐户中的用户密码凭据括起来,并用冒号分隔。

  2. 在方括号内,我应该将当前的用户名和密码凭据变成有效的连接字符串。

  3. 最终的字符串如下所示:

    mongodb+srv://myuser:abc123@cluster0-xxxx.mongodb.net/test?retryWrites=true&w=majority
    

您应该替换连接字符串中可能包含的元字符。元字符的格式为

我在nodejs代码中的最终连接字符串:

const url = 'mongodb+srv://myuser:abc123@cluster0-xxxx.mongodb.net/test?retryWrites=true&w=majority'

如果这没有帮助,我建议您从数据库提供者访问Troubleshoot Connection Issues