Reputation: 385
I have an empty loopback app, where I added a model and a mongodb datasource.
When connecting, I get the following error:
Web server listening at: http://0.0.0.0:3000
Browse your REST API at http://0.0.0.0:3000/explorer
Connection fails: { [MongoError: Authentication failed.]
name: 'MongoError',
message: 'Authentication failed.',
ok: 0,
code: 18,
errmsg: 'Authentication failed.' }
It will be retried for the next request.
/media/[...]/node_modules/mongodb/lib/mongo_client.js:454
throw err
^
MongoError: Authentication failed.
at Function.MongoError.create (/media/[...]/node_modules/mongodb-core/lib/error.js:31:11)
at /media/[...]/node_modules/mongodb-core/lib/topologies/server.js:778:66
at Callbacks.emit (/media/[...]/node_modules/mongodb-core/lib/topologies/server.js:95:3)
at null.messageHandler (/media/[...]/node_modules/mongodb-core/lib/topologies/server.js:249:23)
at Socket.<anonymous> (/media/[...]/node_modules/mongodb-core/lib/connection/connection.js:265:22)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:153:18)
at Socket.Readable.push (_stream_readable.js:111:10)
at TCP.onread (net.js:531:20)
The db runs in a docker. I can connect to it via "MongoClient"
datasources.js:
{
"mongodb_dev": {
"name": "mongodb_dev",
"connector": "mongodb",
"host": "127.0.0.1",
"database": "some-db",
"username": "mongouser",
"password": "pass",
"port": 27017
}
}
Upvotes: 6
Views: 3194
Reputation: 101
The following might be the reason for this error.
If so you can solve this by creating users in your database by using
use application dbname
db.createUser(
{
user: "username",
pwd: "password",
roles: [ "readWrite", "dbAdmin" ]
}
)
And use this credential for connecting your database
Upvotes: 7