我已经在我的mongo数据库中启用了身份验证,并添加了如下用户。
db.createUser({
user: "myuser",
pwd: "abc123",
roles: [ "readWriteAnyDatabase" ]
});
我正在使用此用户来运行快速节点服务器。数据库成功连接但随后失败,出现以下异常。
Unhandled rejection MongoError: not authorized on SessionDB to execute command { listIndexes: "sessions", cursor: {} }
at Function.MongoError.create (/Users/myuser/code/test_project/node_modules/mongodb-core/lib/error.js:31:11)
at queryCallback (/Users/myuser/code/test_project/node_modules/mongodb-core/lib/cursor.js:212:36)
at /Users/myuser/code/test_project/node_modules/mongodb-core/lib/connection/pool.js:469:18
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
Unhandled rejection MongoError: not authorized on SessionDB to execute command { listIndexes: "sessions", cursor: {} }
at Function.MongoError.create (/Users/myuser/code/test_project/node_modules/mongodb-core/lib/error.js:31:11)
at queryCallback (/Users/myuser/code/test_project/node_modules/mongodb-core/lib/cursor.js:212:36)
at /Users/myuser/code/test_project/node_modules/mongodb-core/lib/connection/pool.js:469:18
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
我阅读了mongodb的文档,它说索引保存在系统集合中,但read
内置角色应该允许用户访问它。我尝试过为我的用户提供readAnyDatabase
和read
个内置角色,我还尝试了许多其他方法使其工作,但它仍然提供相同的例外。
我可以看到之前在此论坛上已经提出了类似的问题,但他们没有提供任何描述或解决方案。