连接到mongodb Atlas的身份验证问题

时间:2019-02-20 20:15:33

标签: node.js mongodb

我想完成的事情可能是有史以来最简单的事情。我只想使用mongodb驱动程序连接到nodejs中的mongodb atlas免费层M0。我已经创建了一个免费帐户和集群。

这是我的简单代码:

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

const URI = 'mongodb+srv://mohammed:mypassword@lebran-0qf7m.gcp.mongodb.net/test?retryWrites=true';

mongoclient.connect(URI, { useNewUrlParser: true }, (err, client) => {
    if(err) throw err;
    console.log('mongodb connected');
    db = client.db('mern');
})

这是运行文件时发生的情况:

Mohammeds-MacBook-Pro:mern ahmed$ node server.js
/Users/ahmed/Projects/mern/server.js:13
    if(err) throw err;
            ^

Error: queryTxt ESERVFAIL lebran-0qf7m.gcp.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:199:19)

我还使用以下命令尝试了mongo shell:

mongo "mongodb+srv://lebran-0qf7m.gcp.mongodb.net/mern" --username mohammed

这是我得到的输出:

MongoDB shell version v4.0.6
Enter password: 
connecting to: mongodb://lebran-shard-00-00-0qf7m.gcp.mongodb.net.:27017,lebran-shard-00-01-0qf7m.gcp.mongodb.net.:27017,lebran-shard-00-02-0qf7m.gcp.mongodb.net.:27017/mern?gssapiServiceName=mongodb&ssl=true
2019-02-20T22:48:57.232+0300 E QUERY    [js] Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:343:13
@(connect):1:6
exception: connect failed

我确定我输入了正确的密码。我已经更改了几个,但它们都不起作用。我的IP列为白名单。我也有一个管理员帐户。我能想到的所有先决条件。

我能够连接到本地服务器,但不能连接到Atlas。这真的开始让我发疯。

非常感谢您的帮助...

**更新: 我刚刚将应用程序部署到heroku,您知道吗?它连接!我无法通过计算机连接它。因此,可能必须与我的位置或连接(可能是位置)做些事情。

0 个答案:

没有答案