-
I have started mongodb container from docker-compose file
<code> services:mongo:restart: alwayscontainer_name: mongoimage: 'mongo:latest'environment:- MONGO_INITDB_ROOT_USERNAME=root- MONGO_INITDB_ROOT_PASSWORD=password- MONGO_INITDB_DATABASE=mydatabaseports:- '27017:27017'- '27018:27018'- '27019:27019'volumes:- ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo-js:ro- ./mongo/data:/data/db</code><code> services: mongo: restart: always container_name: mongo image: 'mongo:latest' environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=password - MONGO_INITDB_DATABASE=mydatabase ports: - '27017:27017' - '27018:27018' - '27019:27019' volumes: - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo-js:ro - ./mongo/data:/data/db </code>services: mongo: restart: always container_name: mongo image: 'mongo:latest' environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=password - MONGO_INITDB_DATABASE=mydatabase ports: - '27017:27017' - '27018:27018' - '27019:27019' volumes: - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo-js:ro - ./mongo/data:/data/db
init-mongo.js
<code>this script should be executed on startupprint("Started-adding-the-users.");db=db.getSiblingDB()('admin');use admin;db.createUser({user: "root",pwd: "password",roles: [{role: 'readWrite',db: 'admin',},{role: 'readWrite',db: 'mydatabase',}],});db=db.getSiblingDB()('mydatabase');db.createUser({user: "db_user",pwd: "pass123",roles: [ { role: "userAdminAnyDatabase", db: "mydatabase" }, "readWriteAnyDatabase" ]});db.createCollection('init');```</code><code> this script should be executed on startup print("Started-adding-the-users."); db=db.getSiblingDB()('admin'); use admin; db.createUser({ user: "root", pwd: "password", roles: [ { role: 'readWrite', db: 'admin', }, { role: 'readWrite', db: 'mydatabase', } ], }); db=db.getSiblingDB()('mydatabase'); db.createUser( { user: "db_user", pwd: "pass123", roles: [ { role: "userAdminAnyDatabase", db: "mydatabase" }, "readWriteAnyDatabase" ] } ); db.createCollection('init'); ``` </code>this script should be executed on startup print("Started-adding-the-users."); db=db.getSiblingDB()('admin'); use admin; db.createUser({ user: "root", pwd: "password", roles: [ { role: 'readWrite', db: 'admin', }, { role: 'readWrite', db: 'mydatabase', } ], }); db=db.getSiblingDB()('mydatabase'); db.createUser( { user: "db_user", pwd: "pass123", roles: [ { role: "userAdminAnyDatabase", db: "mydatabase" }, "readWriteAnyDatabase" ] } ); db.createCollection('init'); ```
After that my spring boot application is trying to connect to mongo with properties
<code>
spring.data.mongodb.uri=mongodb://localhost:27017/
spring.data.mongodb.database=mydatabase
spring.data.mongodb.username=root
spring.data.mongodb.password=password
</code>
<code>
spring.data.mongodb.uri=mongodb://localhost:27017/
spring.data.mongodb.database=mydatabase
spring.data.mongodb.username=root
spring.data.mongodb.password=password
</code>
spring.data.mongodb.uri=mongodb://localhost:27017/
spring.data.mongodb.database=mydatabase
spring.data.mongodb.username=root
spring.data.mongodb.password=password
I am getting error:
Command failed with error 13 (Unauthorized): ‘Command update requires authentication’
why it happenning?