SailsJS下sails-mongo连MongoDB报认证失败 密码可正常连其他工具
问题概述
使用SailsJS的Mongo连接器时,抛出数据库连接管理器创建失败的一致性校验报错,已完成常规连接排查仍未解决。
核心报错信息
Error: Consistency violation: Unexpected error creating db connection manager: MongoError: Authentication failed
已完成的排查验证
- 反复核对账号、密码字段正确性
- 其他工具连接测试正常:跨服务器可通过MongoExpress连接、本地可通过MongoCompass正常连接目标MongoDB实例
- 逐字符比对手动复制的连接URL,完全排除拼写输入错误
- 基础配置遵循Sails官方MongoDB接入教程的标准流程
与官方教程的配置差异
为规避Sails自动迁移流程触发的“缺少删除操作权限”类Mongo报错,没有按照教程方式拆分配置host、port、账号密码字段,而是直接将账号密码拼接进连接URL完成配置。
当前环境版本
- MongoDB v4.4.4
- sails-mongo 1.2.0
- Sails v1.4.2
相关配置与初始化代码
数据存储配置(datastore.js)
default: { adapter: 'sails-mongo', url: 'mongodb://user:password@localhost:27017/mydb', }
全局模型配置(model.js)
attributes: { // 适配MongoDB的时间戳与ID字段映射 createdAt: { type: 'number', autoCreatedAt: true, }, updatedAt: { type: 'number', autoUpdatedAt: true, }, id: { type: 'string', columnName: '_id' }, }
MongoDB账号创建语句
use admin db.createUser( { user: "user", pwd: passwordPrompt(), // 可替换为明文字符串密码 roles: [ { role: "readWrite", db: "mydb" } ] } )
诉求
- 定位当前认证失败的根本原因
- 给出可落地的适配解决方法
内容的提问来源于stack exchange,提问作者mkirouac
相关产品推荐
相关产品推荐

