node.js - Mongodb + Atlas : 'bad auth Authentication failed.' , 代码 : 8000,

标签 node.js mongodb mongodb-atlas

我试过 this and it's not working .

Mongodb + Atlas 出现以下错误:

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)]: {}

这是我实例化我的数据库的方法:

来自 credentials.js :
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应用程序:
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");
      })
    })
  }

您可以找到代码 here

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

最佳答案

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

  • 假设我的用户名是“user”,密码是password,我们应该写"mongodb+srv://user:password@cluster0.4h226.mongodb.n..." , 没有“<”和“>”;
  • 如果您的密码中有任何特殊字符,请将它们替换为以 % 开头的 ascii 代码。标志。例如,#将是 %35 .
  • 关于node.js - Mongodb + Atlas : 'bad auth Authentication failed.' , 代码 : 8000,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60020381/

    相关文章:

    javascript - 无效的参数值异常 : The role defined for the function cannot be assumed by Lambda

    javascript - 无法连接到 mlab 上托管的 MongoDB

    mongodb - 在 Mongo Atlas 中将 snappy 压缩更改为 zstd 压缩以进行集合

    mongodb - StitchServiceError  "aws: "aws_service“是必需的字符串”,errorCodeName : InvalidParameter

    javascript - 检查条件是否与 Javascript 中数组的任何值匹配

    javascript - 使用 javaScript 按单词中元音的数量对句子进行排序并从左侧对其进行索引

    javascript - 如何解决 Heroku 上找不到模块的问题?

    mongodb - 如何在 mongo 集合中获取子文档数组的分页/切片数据?

    javascript - 使用 MongoDB 和 Nodejs 计算未定义的数量

    mongodb - 是否有 mongodb 的驱动程序可以在 .net core 应用程序中使用 Atlas 搜索?