我正在尝试跟进教程,我用lb创建了一个新的应用程序,添加了CoffeeShop模式,然后添加了一个数据源mongodb。我的MongoDB实例在我的本地mac上,并且授权已关闭。我只是用mongod
命令运行它,没有额外的参数,也没有额外的配置。
这是我的datasources.json
{
"corp1": {
"host": "127.0.0.1",
"port": 27017,
"url": "",
"database": "devdb",
"password": "devpassword",
"name": "corp1",
"user": "devuser",
"connector": "mongodb"
}
}
我甚至创建了devdb
数据库,并将所有数据库的devdb用户设置为管理员。仍然得到这个错误。
Connection fails: MongoError: Authentication failed.
It will be retried for the next request.
/Users/hazimdikenli/learn/loopback-getting-started/node_modules/mongodb/lib/mongo_client.js:462
throw err
^
MongoError: Authentication failed.
at Function.MongoError.create (/Users/hazimdikenli/learn/loopback-getting-started/node_modules/mongodb-core/lib/error.js:31:11)
at /Users/hazimdikenli/learn/loopback-getting-started/node_modules/mongodb-core/lib/connection/pool.js:497:72
at authenticateStragglers (/Users/hazimdikenli/learn/loopback-getting-started/node_modules/mongodb-core/lib/connection/pool.js:443:16)
at Connection.messageHandler (/Users/hazimdikenli/learn/loopback-getting-started/node_modules/mongodb-core/lib/connection/pool.js:477:5)
at Socket.<anonymous> (/Users/hazimdikenli/learn/loopback-getting-started/node_modules/mongodb-core/lib/connection/connection.js:333:22)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:597:20)
它认为这是一个新手问题,但我找不到问题。所以请帮我解决这个问题。
发布于 2018-08-22 03:40:59
尽管我没有使用--auth选项运行mongod,但它仍然被证明是一个身份验证问题,在我执行以下命令后它仍然起作用。
db.createUser({
user : "devuser",
pwd : "devpassword",
roles: [ {role: "dbOwner", db: "devdb"},
{role: "readWrite", db: "devdb"}]
})
在此之前,我使用此脚本授予了"admin“上的角色,但看起来还不够。
role: "userAdminAnyDatabase", db: "admin"
https://stackoverflow.com/questions/51955110
复制相似问题