首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >LoopbackJS版本3.x `连接失败: MongoError:身份验证失败。`

LoopbackJS版本3.x `连接失败: MongoError:身份验证失败。`
EN

Stack Overflow用户
提问于 2018-08-22 03:00:50
回答 1查看 203关注 0票数 0

我正在尝试跟进教程,我用lb创建了一个新的应用程序,添加了CoffeeShop模式,然后添加了一个数据源mongodb。我的MongoDB实例在我的本地mac上,并且授权已关闭。我只是用mongod命令运行它,没有额外的参数,也没有额外的配置。

这是我的datasources.json

代码语言:javascript
复制
 {
  "corp1": {
    "host": "127.0.0.1",
    "port": 27017,
    "url": "",
    "database": "devdb",
    "password": "devpassword",
    "name": "corp1",
    "user": "devuser",
    "connector": "mongodb"
  }
}

我甚至创建了devdb数据库,并将所有数据库的devdb用户设置为管理员。仍然得到这个错误。

代码语言:javascript
复制
    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)

它认为这是一个新手问题,但我找不到问题。所以请帮我解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 03:40:59

尽管我没有使用--auth选项运行mongod,但它仍然被证明是一个身份验证问题,在我执行以下命令后它仍然起作用。

代码语言:javascript
复制
db.createUser({ 
    user : "devuser", 
    pwd : "devpassword", 
    roles: [ {role: "dbOwner", db: "devdb"}, 
             {role: "readWrite", db: "devdb"}]
})

在此之前,我使用此脚本授予了"admin“上的角色,但看起来还不够。

代码语言:javascript
复制
role: "userAdminAnyDatabase", db: "admin"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51955110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档