【问题标题】:Can't connect to mongodb atlas nodejs无法连接到mongodb atlas nodejs
【发布时间】:2020-09-13 23:19:30
【问题描述】:

我一直在尝试使用 mongoose 连接到 atlas 数据库

const mongoose = require('mongoose');
const my_db =
    'mongodb+srv://adminUser:admisPassword@impact-9hs0w.mongodb.net/test?retryWrites=true&w=majority';
mongoose
    .connect(my_db, {
        useUnifiedTopology: true,
        useNewUrlParser: true
    })
    .then((result) => {
        console.log(result);
        const server = app.listen(8080, () => {
            console.log('listening... ');
        });
    })
    .catch((err) => {
        console.log(err);
    });

但它会在[nodemon] starting 'node app.js' 停留一段时间然后给出这条日志消息

错误:queryTxt ETIMEOUT Impact-9hs0w.mongodb.net 在 QueryReqWrap.onresolve [as oncomplete] (dns.js:206:19) { errno: undefined, code: 'ETIMEOUT', syscall: 'queryTxt',
主机名:'impact-9hs0w.mongodb.net' }

我已将所有 IP 列入白名单,但仍无法连接

【问题讨论】:

  • const server 行放在catch 块之后
  • 我这样做了,所以我只有在连接数据库时才启动我的服务器
  • 检查你的usernamepasswordadminUser还是只有admin
  • 我尝试使用他们给我的默认用户,但没有用,所以我创建了自己的......仍然是同样的问题

标签: node.js mongodb mongoose


【解决方案1】:

确保在链接中正确设置了您的角色和密码,对我来说,管理员用户无法正常工作,所以我创建了一个新用户,它解决了我的问题。

【讨论】:

    【解决方案2】:

    联系支持人员后,他们告诉我使用旧版连接链接Using the legacy link

    【讨论】:

    • 头晕了 2 天
    猜你喜欢
    • 2021-06-25
    • 2021-09-20
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2019-10-31
    • 2019-06-08
    • 2019-03-14
    • 2018-12-07
    相关资源
    最近更新 更多