我们购买了阿里云serverless mongodb, 然后在nodejs app里尝试连接这个数据库,但是得到了如下的错误: UnhandledPromiseRejectionWarning: MongoError: not authorized on admin to execute command { createIndexes: "sessions", indexes: [ { name: "expires_1", key: { expires: 1 }, expireAfterSeconds: 0 } ], writeConcern: { w: "majority" }, lsid: { id: UUID("0a16821d-5471-4b26-9479-d4d9f3cbafe9") }, $clusterTime: { clusterTime: Timestamp(1615254942, 3), signature: { hash: BinData(0, 06B4BBD9839B3B77425C4E867DA823FCEB15AAF3), keyId: 6916514152638840862 } }, $db: "admin" }
请问这个错误是什么意思呢?要如何修复呢?
看错误是要在 admin 库中 sessions 表上要创建索引?一般应该没有这个权限的。
建议看一下应用使用的 用户 和 登录库。
需要在链接时指定 authentication database: ,如用 mongodb client 时 加入 --authenticationDatabase admin
参数连接。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。