Tags

,

Problem:
If you’re using mongodb in OpenShift v3 platform you may encounter an error that says “not authorized on {databasename}” even though that you’ve successfully connected to mongo instance.

{"error":{"name":"MongoError","message":"not authorized on microblogdb to execute command { find: \"posts\", filter: {}, sort: { updated_at: -1 }, projection: {} }","ok":0,"errmsg":"not authorized on microblogdb to execute command { find: \"posts\", filter: {}, sort: { updated_at: -1 }, projection: {} }","code":13}}


{"name":"MongoError","message":"not authorized on microblogdb to execute command { insert: \"users\", documents: [ { email: \"user3@mail.com\", passwordHash: \"$2a$08$AIqmMQHjc/5/Nz7hOWMHNurkiKS.ErjXJ.TFAfl686ODPSJ5JS1xi\", fullname: \"Jack Bauer\", articles: [], _id: ObjectId('59ae68867b28c70018e8938f'), __v: 0 } ], ordered: false, writeConcern: { w: 1 } }","ok":0,"errmsg":"not authorized on microblogdb to execute command { insert: \"users\", documents: [ { email: \"user3@mail.com\", passwordHash: \"$2a$08$AIqmMQHjc/5/Nz7hOWMHNurkiKS.ErjXJ.TFAfl686ODPSJ5JS1xi\", fullname: \"Jack Bauer\", articles: [], _id: ObjectId('59ae68867b28c70018e8938f'), __v: 0 } ], ordered: false, writeConcern: { w: 1 } }","code":13}

Solution:
I’ve change the connection string format from
mongodb://192.168.100.1:27017/microblogdb
into
mongodb://myusername:mypassword@192.168.100.1:27017/microblogdb

So build and deploy again. It finally works!