NodeJS连接MongoDB Atlas出现AtlasError(code:8000)权限问题求助
Node.js v14.21.3连接MongoDB Atlas遇权限错误(错误码8000/AtlasError)
使用Node.js v14.21.3连接MongoDB时出现权限访问错误,错误码8000,错误名称为AtlasError。已尝试创建新用户、新建数据库等常见解决方法,均未生效。
报错堆栈信息
at Connection.<anonymous> (/home/agatha.magnus/Documents/Node-JS/mongoose/node_modules/mongodb/lib/core/connection/pool.js:453:61) at Connection.emit (events.js:400:28) at processMessage (/home/agatha.magnus/Documents/Node-JS/mongoose/node_modules/mongodb/lib/core/connection/connection.js:456:10) at TLSSocket.<anonymous> (/home/agatha.magnus/Documents/Node-JS/mongoose/node_modules/mongodb/lib/core/connection/connection.js:625:15) at TLSSocket.emit (events.js:400:28) at addChunk (internal/streams/readable.js:293:12) at readableAddChunk (internal/streams/readable.js:267:9) at TLSSocket.Readable.push (internal/streams/readable.js:206:10) at TLSWrap.onStreamRead (internal/stream_base_commons.js:188:23) { ok: 0, code: 8000, codeName: 'AtlasError' }
连接代码
mongoose .connect( "mongodb+srv://hta:agatha@cluster0.r2eb6bu.mongodb.net/?retryWrites=true&w=majority" )
排查建议
- 检查IP白名单:登录MongoDB Atlas控制台,确认当前机器的IP已加入集群的IP白名单,可临时设置为
0.0.0.0/0测试是否为IP限制导致 - 验证用户权限:确保数据库用户拥有目标数据库的读写权限,避免权限不足或权限范围错误
- 核对连接字符串:确认用户名、密码完全匹配,若密码包含特殊字符(如@、&等)需进行URL编码
- 适配驱动版本:Node.js v14需搭配兼容的mongodb驱动版本(如
mongodb@4.x),mongoose建议使用mongoose@6.x版本,避免版本不兼容问题 - 检查集群状态:在Atlas控制台确认集群处于正常运行状态,无维护或异常情况
内容的提问来源于stack exchange,提问作者Hta
相关产品推荐
相关产品推荐

