title: Quartz MongoDB Command failed with error 13: 'not authorized on quartz_jobs_test to execute command
body: <p>I have created mongo 3.4.6 with Docker:</p>
  
  <p>This is my user:</p>
  
  <pre><code>mongo&gt; Successfully added user: {
  mongo&gt; "user" : "admin",
  mongo&gt; "roles" : [
  mongo&gt; {
  mongo&gt; "role" : "root",
  mongo&gt; "db" : "admin"
  mongo&gt; }
  mongo&gt; ]
  mongo&gt; }
  </code></pre>
  
  <p>I'm trying to load Quartz config from [class path resource [quartz.properties]] (from MongoDB Quartz Job Store <a href="https://github.com/michaelklishin/quartz-mongodb" rel="nofollow noreferrer">https://github.com/michaelklishin/quartz-mongodb</a>)</p>
  
  <pre><code># ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # Quartz Job Scheduling
  # ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  #org.quartz.scheduler.instanceName=springboot-quartz-mongodb
  #org.quartz.scheduler.instanceId=AUTO
  
  # Use the MongoDB store
  org.quartz.jobStore.class=com.novemberain.quartz.mongodb.MongoDBJobStore
  
  # MongoDB URI (optional if 'org.quartz.jobStore.addresses' is set)
  org.quartz.jobStore.mongoUri=mongodb://localhost:27018
  org.quartz.jobStore.username=admin
  org.quartz.jobStore.password=password
  
  # MongoDB Database name
  org.quartz.jobStore.authDbName=admin
  org.quartz.jobStore.dbName=quartz_jobs_test
  
  # Will be used to create collections like quartz_jobs, quartz_triggers, quartz_calendars, quartz_locks
  org.quartz.jobStore.collectionPrefix=quartz_
  
  # Thread count setting is ignored by the MongoDB store but Quartz requires it
  org.quartz.threadPool.threadCount=1
  
  # Skip running a web request to determine if there is an updated version of Quartz available for download
  org.quartz.scheduler.skipUpdateCheck=true
  
  # Register Quartz plugins to be executed
  org.quartz.plugin.triggerHistory.class=org.quartz.plugins.history.LoggingTriggerHistoryPlugin
  </code></pre>
  
  <p>Right now my application fails with a following exception:</p>
  
  <pre><code>Caused by: com.mongodb.MongoCommandException: Command failed with error 13: 'not authorized on quartz_jobs_test to execute command { createIndexes: "quartz__jobs", indexes: [ { key: { keyGroup: 1, keyName: 1 }, name: "keyGroup_1_keyName_1", ns: "quartz_jobs_test.quartz__jobs", unique: true } ] }' on server localhost:27018. The full response is { "ok" : 0.0, "errmsg" : "not authorized on quartz_jobs_test to execute command { createIndexes: \"quartz__jobs\", indexes: [ { key: { keyGroup: 1, keyName: 1 }, name: \"keyGroup_1_keyName_1\", ns: \"quartz_jobs_test.quartz__jobs\", unique: true } ] }", "code" : 13, "codeName" : "Unauthorized" }
      at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:115)
      at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:114)
      at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:168)
      at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:289)
      at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:176)
      at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:216)
      at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:207)
      at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:146)
      at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:139)
      at com.mongodb.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:150)
      at com.mongodb.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:144)
      at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:422)
      at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:413)
      at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:144)
      at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:71)
      at com.mongodb.Mongo.execute(Mongo.java:845)
      at com.mongodb.Mongo$2.execute(Mongo.java:828)
      at com.mongodb.MongoCollectionImpl.createIndexes(MongoCollectionImpl.java:491)
      at com.mongodb.MongoCollectionImpl.createIndex(MongoCollectionImpl.java:458)
      at com.novemberain.quartz.mongodb.dao.JobDao.createIndex(JobDao.java:49)
      at com.novemberain.quartz.mongodb.MongoDBJobStore.ensureIndexes(MongoDBJobStore.java:500)
      ... 60 common frames omitted
  </code></pre>
  
  <p>what am I doing wrong and how to fix it ?</p>