javascript 有人可以给予我指导来解决这个错误信息吗?

ajsxfq5m  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(93)
[0] Unhandled rejection MongoError: (Unauthorized) not authorized on admin to execute command { listIndexes: "sessions", cursor: {  } }

[0]     at MongoError.create (/Users/biggahd/Desktop/Mars-EMS-1/backend/node_modules/mongodb-core/lib/error.js:31:11)

[0]     at queryCallback (/Users/biggahd/Desktop/Mars-EMS-1/backend/node_modules/mongodb-core/lib/cursor.js:212:36)

[0]     at /Users/biggahd/Desktop/Mars-EMS-1/backend/node_modules/mongodb-core/lib/connection/pool.js:469:18

[0]     at process.processTicksAndRejections (node:internal/process/task_queues:77:11)

我已经在MongoDB Atlas上的自定义角色中启用了listIndexes,我基本上已经批准了所有的操作,但我仍然得到这个错误。
我使用的是最老版本的MongoDB。我是被这样指示的。2.0.14(也许这就是问题所在?
我使用的是Sails.js -> v1.5.7的新版本
有人可以给予我指导来解决这个错误信息吗?

htrmnn0y

htrmnn0y1#

简短的回答-不要使用自动迁移。这很方便,但即使是帆本身也不推荐:
当连接到包含您所关心的数据的数据库时,不应启用自动迁移。
考虑到您选择了自定义角色,开发便利性并不是最重要的。
冗长的回答。
Sails尝试将您的模型与数据库同步。由于您在模型级别上定义了索引,因此它会尝试从数据库中获取索引以计算增量并构建更新命令。
为什么它试图在管理数据库上这样做-一个很大的谜,这将需要一点调试来做RCA。可能是一些配置错误,但我在静态代码分析中找不到任何明显的代码。
如果您使用的是免费/共享的Atlas层(M0、M2、M5),则无论角色如何,您都无法访问管理员数据库。

相关问题