Prerequisite: Download and Install MongoDB (http://docs.mongodb.org/manual/installation/) on your local machine and run two instances in two separate terminal/command prompt. This sample app is developed on Mac OS/Linux env.
1. Start MongoDB server using : ./mongod
2. Start MongoDB client : ./mongo
Add MongoDB Jar dependency in your project:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.10.1</version> </dependency>
Sample MONGODB CRUD code:
package com.db; import java.util.List; import java.util.Set; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.MongoClient; public class MongoConnectionManager { static DBCursor cursor; public static void main(String[] args) { try{ System.out.println("Connecting with MongoDB......"); //DB connection after ver 2.10.0 MongoClient mongoconn = new MongoClient("localhost",27017 ); //Get database DB db = mongoconn.getDB( "test" ); System.out.println("Database Name: "+db.getName()); //Display all databases List<String> dbs = mongoconn.getDatabaseNames(); for(String mydb : dbs){ System.out.println(mydb); } //If MongoDB is installed on Secure mode //boolean auth = db.authenticate("username", "password".toCharArray()); //Get Collection/tables names Set<String> colls = db.getCollectionNames(); for (String s : colls) { System.out.println(s); } //Get Collection DBCollection coll = db.getCollection("mynames"); coll.createIndex(new BasicDBObject("email", 1)); // create index on "i", ascending System.out.printf("Collection Names:"+db.getCollectionNames()); //Drop collections coll.drop(); //Insert new records/documents BasicDBObject doc1 = new BasicDBObject(); //Insert values into document/record doc1.put("name", "Rajiv"); doc1.put("email", "rajivmca2004@yahoo.com"); doc1.put("count",1); // Insert values in Collection coll.insert(doc1); BasicDBObject doc2 = new BasicDBObject(); //Insert values into document/record doc2.put("name", "Mohit"); doc2.put("email", "mohit@yahoo.com"); doc2.put("count",2); // Insert values in Collection coll.insert(doc2); //Fecth only first doc DBObject mydoc= coll.findOne(); System.out.println("Only First Doc :"+mydoc); //Insert and fetch Multiple doc for (int i = 0; i < 10; i++) { coll.insert(new BasicDBObject().append("count", i)); } //Total documents cursor= coll.find(); while(cursor.hasNext()){ System.out.println(cursor.next()); } //Getting A Single Document with A Query BasicDBObject query= new BasicDBObject(); query.put("name","Rajiv"); cursor= coll.find(query); System.out.print("Getting A Single Document with A Query: \n"); //Iterate over database results while(cursor.hasNext()){ System.out.println(cursor.next()); } //Conditional Queries, documents where i > 50. We could also get a range, say 20 < i <= 30 : query = new BasicDBObject(); query.put("count", new BasicDBObject("$gt", 1).append("$lte", 30)); // i.e. 20 < i <= 30 cursor = coll.find(query); while(cursor.hasNext()) { System.out.println("Comparison =>"+cursor.next()); } System.out.println("Total documents: "+coll.getCount()); } catch (Exception e) { e.printStackTrace(); } } }