Loopback mongodb Authentication Error

I have an empty loopback application where I added the mongodb model and data source.

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)

db works in docker. I can connect to it through "MongoClient"

datasources.js:

{
    "mongodb_dev": {
        "name": "mongodb_dev",
        "connector": "mongodb",
        "host": "127.0.0.1",
        "database": "some-db",
        "username": "mongouser",
        "password": "pass",
        "port": 27017
    }
}
+4
source share
1 answer

This error may be caused by the following.

  • You authenticate one database and use a different database for your application. In your mongoClient you can configure auth db as "admin" so that you can connect without errors.

If possible, you can solve this problem by creating users in your database using

use application dbname
db.createUser(
   {
     user: "username",
     pwd: "password",
     roles: [ "readWrite", "dbAdmin" ]
   }
)

+3

All Articles