title: Unable to connect to MongoDb using Pentaho PDI CE
body: <p>I am new to Pentaho. I am trying to read data from MongoDB using Pentaho Data Integration Community Edition. While trying to execute the MongoDB input step, I am getting the authentication failed error. I found that, the error was due to the missing MongoDb driver in PDI. </p>
  
  <p>Later, I have downloaded the mongodb-driver-3.2.2.jar file and added it to the location E:\pdi-ce-6.0.1.0-386\data-integration\lib. But still the problem persists.</p>
  
  <p>While trying to get the Dbs by providing the MongoDb connection details in Pentaho MongoDb Input step, I am getting the error java.nullpointerException.</p>
  
  <p>Could someone please let me know what am I doing wrong here?</p>
  
  <p>Error message while trying to get DBs by providing valid Mongo Server details in <strong>Spoon</strong>:</p>
  
  <pre><code>Unable to connect to MongoDB - check connection details : 'ok' should never be null...
  </code></pre>
  
  <p>Error Details and the stacktrace of a possibly exception:</p>
  
  <pre><code>org.pentaho.di.core.exception.KettleException: 
  java.lang.IllegalArgumentException: 'ok' should never be null...
  'ok' should never be null...
  
      at org.pentaho.mongo.wrapper.NoAuthMongoClientWrapper.getDatabaseNames(NoAuthMongoClientWrapper.java:358)
      at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog.setupDBNames(MongoDbInputDialog.java:1442)
      at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog.access$300(MongoDbInputDialog.java:82)
      at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog$4.widgetSelected(MongoDbInputDialog.java:450)
      at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
      at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
      at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
      at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
      at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog.open(MongoDbInputDialog.java:1079)
      at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:124)
      at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8797)
      at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3027)
      at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:744)
      at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
      at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
      at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
      at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
      at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1316)
      at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7979)
      at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9310)
      at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:654)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
  Caused by: java.lang.IllegalArgumentException: 'ok' should never be null...
      at com.mongodb.CommandResult.ok(CommandResult.java:43)
      at com.mongodb.CommandResult.throwOnError(CommandResult.java:109)
      at com.mongodb.DBPort$NativeAuthenticator.authenticate(DBPort.java:545)
      at com.mongodb.DBPort.authenticate(DBPort.java:322)
      at com.mongodb.DBPort.checkAuth(DBPort.java:333)
      at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:243)
      at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:216)
      at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:288)
      at com.mongodb.DB.command(DB.java:261)
      at com.mongodb.DB.command(DB.java:243)
      at com.mongodb.DB.command(DB.java:300)
      at com.mongodb.Mongo.getDatabaseNames(Mongo.java:384)
      at org.pentaho.mongo.wrapper.NoAuthMongoClientWrapper.getDatabaseNames(NoAuthMongoClientWrapper.java:353)
  </code></pre>