I am trying to connect to a MongoDB database hosted on mlab using the Java driver on a servlet.
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class MongoConnection {
protected void connectToMongo(String loc){
String dbName = "readings";
String collection = "data";
MongoClientURI uri = new MongoClientURI("mongodb://user:[email protected]:43109/readings");
MongoClient client = new MongoClient(uri);
MongoDatabase db = client.getDatabase(dbName);
MongoCollection<Document> readings = db.getCollection(collection);
Document doc = Document.parse(loc);
readings.insertOne(doc);
client.close();
}
}
The problem is I am getting the following error:
java.lang.NoClassDefFoundError: com/mongodb/MongoClientURI
I looked at one answer (How to resolve ClassNotFoundException: com.mongodb.connection.BufferProvider?) that highlighted to me that I need other jars, I have since downloaded them however I am still getting this error.
I am using Eclipse and adding the three jars to the build path, navigating through the menu by right clicking on the project then following Build Path -> Configure build path -> Java build path -> libraries -> add external JARs
.
Is this the right way to do it? Is there something else I am supposed to do as well/instead?
java.lang.NoClassDefFoundError: com/mongodb/client/MongoClients
using IntelijIDEA, solved by editing Run/Debug configuration. – Anastomosis