首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongodb + Atlas:“错误的auth身份验证失败”,代码: 8000,

Mongodb + Atlas:“错误的auth身份验证失败”,代码: 8000,
EN

Stack Overflow用户
提问于 2020-02-01 19:23:41
回答 23查看 44K关注 0票数 21

我试过这不起作用了。

我在Mongodb +Atlas中有以下错误:

代码语言:javascript
运行
复制
MongoError: bad auth Authentication failed.
    at /Users/cyrus/Documents/Code/01. Code/Franklin-ford/franklin-ford-server/node_modules/mongodb-core/lib/auth/auth_provider.js:46:25
    at /Users/cyrus/Documents/Code/01. Code/Franklin-ford/franklin-ford-server/node_modules/mongodb-core/lib/auth/scram.js:215:18
    at Connection.messageHandler (/Users/cyrus/Documents/Code/01. Code/Franklin-ford/franklin-ford-server/node_modules/mongodb-core/lib/connection/connect.js:334:5)
    at Connection.emit (events.js:203:13)
    at processMessage (/Users/cyrus/Documents/Code/01. Code/Franklin-ford/franklin-ford-server/node_modules/mongodb-core/lib/connection/connection.js:364:10)
    at TLSSocket.<anonymous> (/Users/cyrus/Documents/Code/01. Code/Franklin-ford/franklin-ford-server/node_modules/mongodb-core/lib/connection/connection.js:533:15)
    at TLSSocket.emit (events.js:203:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at TLSSocket.Readable.push (_stream_readable.js:210:10)
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:166:17) {
  ok: 0,
  errmsg: 'bad auth Authentication failed.',
  code: 8000,
  codeName: 'AtlasError',
  name: 'MongoError',
  [Symbol(mongoErrorContextSymbol)]: {}

下面是我实例化DB的方法:

来自credentials.js

代码语言:javascript
运行
复制
const config = {
    mongoConnectionURL: "mongodb://cyruslk:<MY_PASS_HERE>@franklinford-shard-00-00-3dveb.mongodb.net:27017,franklinford-shard-00-01-3dveb.mongodb.net:27017,franklinford-shard-00-02-3dveb.mongodb.net:27017/test?ssl=true&replicaSet=FranklinFord-shard-0&authSource=admin&retryWrites=true&w=majority",
    mongoDatabaseName: "FranklinFord",
  }

来自我的主要server.js应用程序:

代码语言:javascript
运行
复制
const {MongoClient} = require("mongodb");
const connectionURL = config.mongoConnectionURL;
const databaseName = config.mongoDatabaseName;


  let sendToDb = (dataToInsert) => {
    MongoClient.connect(connectionURL, {
      useNewUrlParser: true,
    }, (error, client) => {

      if(error){
        console.log(error);
        return console.log("Unable to connect to the db.");
      }
      const db = client.db(databaseName);
      console.log(db);

      db.collection("ford_twitter").insertOne({
        masterData: dataToInsert
      }, (error, result) => {
        if(error){
          return console.log("unable to insert users");
        }
        console.log("Data successfully inserted");
      })
    })
  }

您可以找到代码这里

谢谢你帮我。我不知道发生了什么。

EN

回答 23

Stack Overflow用户

回答已采纳

发布于 2020-11-15 16:08:27

我也遇到了同样的问题,在连接字符串中,它是编写的"mongodb+srv://<username>:<password>@cluster0.4h226.mongodb.n...",您应该在该字符串中输入用户名和密码。

  1. 假设我的用户名是"user“,密码是密码,我们应该写"mongodb+srv://user:password@cluster0.4h226.mongodb.n...",不要写"<”和">";
  2. 如果密码中有任何特殊字符,请用前面有%符号的ascii代码替换它们。例如,#将是%35
票数 27
EN

Stack Overflow用户

发布于 2021-02-07 21:09:05

我知道我使用的是正确的用户名、密码和DBname,所以我遇到了这个问题。

我试图将db用户的密码更改为重复检查,但仍然没有工作。

然后,我创建了一个新用户,给出了用户管理角色,设置了密码等等,然后使用了连接的新用户和密码(相同的dbname),它就可以工作了。

我不知道具体的问题是什么,但希望它能帮助你们中的一些人节省一些时间:)

祝好运!

票数 30
EN

Stack Overflow用户

发布于 2021-04-06 16:04:16

我面临着同样的问题,我已经更改了密码,但它没有工作。我的密码包括了我删除的数字,它起作用了。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60020381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档