我一直在尝试将我的节点连接到 MongoDB,但我遇到了错误

Posted

技术标签:

【中文标题】我一直在尝试将我的节点连接到 MongoDB,但我遇到了错误【英文标题】:I have been trying to connect my node to MongoDB and I have been getting errors 【发布时间】:2019-10-04 15:53:24 【问题描述】:

我已经在我的 mongoDB 上创建了一个用户和密码,并且我已经在 NodeJS 中编写了连接代码,但是每次我控制台时都会收到错误。将我的结果记录到 Node JS 服务器。

我已经在 Atlas 后端更改了我的密码,但仍然无法正常工作

    const mongodb = require('mongodb');
    const MongoClient = mongodb.MongoClient;


    const mongoConnect = callback =>
        MongoClient.connect(
            'mongodb+srv://Olumide:84NZWm15WHH4JOP4@cluster0- 
   alft3.mongodb.net/test?retryWrites=true'
             )
                 .then(client =>
         console.log('Connected!!!');
         callback(client);
     ).catch(err =>
         console.log(err);
     );
    

 module.exports = mongoConnect;

[nodemon] 1.19.0 [nodemon] 随时重启,输入rs [nodemon] 观看:. [nodemon] 开始 node server.js (node:12248) DeprecationWarning: 当前 URL 字符串解析器是 已弃用,并将在未来的版本中删除。要使用新 解析器,将选项 useNewUrlParser: true 传递给 MongoClient.connect。 错误:querySrv ETIMEOUT _mongodb._tcp.cluster0-alft3.mongodb.net 在 QueryReqWrap.onresolve [as oncomplete] (dns.js:197:19) 错误号:'ETIMEOUT',代码:'ETIMEOUT',系统调用:'querySrv',主机名: '_mongodb._tcp.cluster0-alft3.mongodb.net' [nodemon] 干净退出 - 重启前等待更改

【问题讨论】:

【参考方案1】:

警告的解决方法是:

MongoClient.connect('<connection_string>',  useNewUrlParser: true )

关于ETIMEOUT错误,是由于mongo服务问题(见MongoDB ETIMEOUT)或远程机器问题

【讨论】:

非常感谢,它已经修复了,这是我的IP白名单,我不得不重置为当前的

以上是关于我一直在尝试将我的节点连接到 MongoDB,但我遇到了错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试将 Heroku 连接到 Atlas MongoDB 时出现问题

连接到 api nodeJS 和 mongoDB

MongoDB 连接到 AWS 上的节点 平均堆栈

mongodb 无法连接到服务器

连接到Mlab时出错

MEAN Stack - 将云 MongoDB 连接到 Angular 应用程序?