version: '3.8'
services:
mongodb:
image: mongo
container_name: mongodb-server
environment:
- MONGO_INITDB_ROOT_USERNAME=athul
- MONGO_INITDB_ROOT_PASSWORD=athul
volumes:
- ~/mongo/data:/data/db
networks:
- backend-ecom
backendapi:
image: athulmekkoth/backend:v3
container_name: backend-server
ports:
- "5000:5000"
networks:
- backend-ecom
env_file:
- .env
depends_on:
- mongodb
networks:
backend-ecom:
driver: bridge
Hey all this is my docker compose file when i try to connect to the Mongodb i am getting error as
MongoServerError: not authorized on test to execute command { find: "users", filter: { email: "[email protected]" }, projection: {}, limit: 1, singleBatch: true, batchSize: 1, lsid: { id: UUID("335d544a-5e1c-427e-b6ac-a961a3bf4726") }, $db: "test" }
backend-server | at Connection.onMessage (/app/node_modules/mongodb/lib/cmap/connection.js:227:30)
backend-server | at MessageStream.<anonymous> (/app/node_modules/mongodb/lib/cmap/connection.js:60:60)
backend-server | at MessageStream.emit (node:events:517:28)
backend-server | at processIncomingData (/app/node_modules/mongodb/lib/cmap/message_stream.js:125:16)
backend-server | at MessageStream._write (/app/node_modules/mongodb/lib/cmap/message_stream.js:33:9)
backend-server | at writeOrBuffer (node:internal/streams/writable:392:12)
backend-server | at _write (node:internal/streams/writable:333:10)
backend-server | at Writable.write (node:internal/streams/writable:337:10)
backend-server | at Socket.ondata (node:internal/streams/readable:809:22)
backend-server | at Socket.emit (node:events:517:28)
backend-server | at addChunk (node:internal/streams/readable:368:12)
backend-server | at readableAddChunk (node:internal/streams/readable:341:9)
backend-server | at Readable.push (node:internal/streams/readable:278:10)
backend-server | at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
backend-server | ok: 0,
backend-server | code: 13,
backend-server | codeName: 'Unauthorized',
backend-server | [Symbol(errorLabels)]: Set(0) {}
backend-server | }
i connect to mongodb via
const connect=()=>{
mongoose.connect(`mongodb://athul:athul@mongodb-server:27017/test`).then(() => {
console.log("connected to db");
})
.catch((err) => {
console.log("not connected to db", err);
});
}
Please ignore the way i used the password and username directly in connection string .Any help will be appreciated thanks