You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoServerError: bad auth认证失败,MERN项目连Atlas求助

解决MongoServerError: bad auth认证失败问题

环境版本

  • Node v18.6.0
  • Npm v9.6.5
  • Atlascli v1.6.0

注:居住宿舍无法修改IP,若此为问题诱因请告知

config.env 代码(MYLOGIN和MYPASS取自MongoDB数据库访问权限)

ATLAS_URI=mongodb+srv://MYLOGIN:MYPASS@sandbox.jadwj.mongodb.net/employees?retryWrites=true&w=majority
PORT=5000

conn.js 代码

const { MongoClient } = require("mongodb");
const Db = process.env.ATLAS_URI;
const client = new MongoClient(Db, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

var _db;

module.exports = {
  connectToServer: function (callback) {
    client.connect(function (err, db) {
      // Verify we got a good "db" object
      if (db) {
        _db = db.db("employees");
        console.log("Successfully connected to MongoDB.");
      }
      return callback(err);
    });
  },

  getDb: function () {
    return _db;
  },
};

错误信息

PS D:\**\mern\server> npm start

> server@1.0.0 start
> node server.js

Server is running on port: 5000
D:\**\mern\server\node_modules\mongodb\lib\cmap\connection.js:202
                callback(new error_1.MongoServerError(document));
                         ^

MongoServerError: bad auth : Authentication failed.
    at Connection.onMessage (D:\**\mern\server\node_modules\mongodb\lib\cmap\connection.js:202:26)
    at MessageStream.<anonymous> (D:\**\mern\server\node_modules\mongodb\lib\cmap\connection.js:61:60)
    at MessageStream.emit (node:events:513:28)
    at processIncomingData (D:\**\mern\server\node_modules\mongodb\lib\cmap\message_stream.js:124:16)
    at MessageStream._write (D:\**\mern\server\node_modules\mongodb\lib\cmap\message_stream.js:33:9)
    at writeOrBuffer (node:internal/streams/writable:392:12)
    at _write (node:internal/streams/writable:333:10)
    at Writable.write (node:internal/streams/writable:337:10)
    at TLSSocket.ondata (node:internal/streams/readable:766:22)
    at TLSSocket.emit (node:events:513:28) {
  ok: 0,
  code: 8000,
  codeName: 'AtlasError',
  connectionGeneration: 0,
  [Symbol(errorLabels)]: Set(2) { 'HandshakeError', 'ResetPool' }
}

Node.js v18.6.0

已尝试的解决方法

  • 添加拥有管理员权限的新数据库用户(认证方式为SCRAM);
  • 设置网络访问为0.0.0.0;
  • 拉取官方MERN示例代码仓库,仍出现相同问题;
  • 使用VS Code的"MongoDB for VS Code"扩展可正常连接数据库,但执行npm start时失败。

需求

寻求解决该MongoServerError: bad auth认证失败问题的方案。

内容的提问来源于stack exchange,提问作者maxiukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:37:50