MongoDB as-a-Service
private static void selectAllRecordsFromACollection(DBCollection collection) { DBCursor cursor = collection.find(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "_id" : { "$oid" : "538782753641d31b0cad0142" } , "employeeId" : 1 , "employeeName" : "TestEmployee_1" } { "_id" : { "$oid" : "538782753641d31b0cad0143" } , "employeeId" : 2 , "employeeName" : "TestEmployee_2" } { "_id" : { "$oid" : "538782753641d31b0cad0144" } , "employeeId" : 3 , "employeeName" : "TestEmployee_3" } { "_id" : { "$oid" : "538782753641d31b0cad0145" } , "employeeId" : 4 , "employeeName" : "TestEmployee_4" } { "_id" : { "$oid" : "538782753641d31b0cad0146" } , "employeeId" : 5 , "employeeName" : "TestEmployee_5" } { "_id" : { "$oid" : "538782753641d31b0cad0147" } , "employeeId" : 6 , "employeeName" : "TestEmployee_6" } { "_id" : { "$oid" : "538782753641d31b0cad0148" } , "employeeId" : 7 , "employeeName" : "TestEmployee_7" } { "_id" : { "$oid" : "538782753641d31b0cad0149" } , "employeeId" : 8 , "employeeName" : "TestEmployee_8" } { "_id" : { "$oid" : "538782753641d31b0cad014a" } , "employeeId" : 9 , "employeeName" : "TestEmployee_9" } { "_id" : { "$oid" : "538782753641d31b0cad014b" } , "employeeId" : 10 , "employeeName" : "TestEmployee_10" } |
Select first document from a collection
private static void selectFirstRecordInCollection(DBCollection collection) { DBObject dbObject = collection.findOne(); System.out.println(dbObject); } Output: { "_id" : { "$oid" : "538782a53641ed9125df86c0" } , "employeeId" : 1 , "employeeName" : "TestEmployee_1" } |
Select single document and limited field(s) from a collection
private static void selectSingleRecordAndFieldByRecordNumber(DBCollection collection) { BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put( "employeeId" , 5 ); BasicDBObject fields = new BasicDBObject(); fields.put( "employeeId" , 1 ); DBCursor cursor = collection.find(whereQuery, fields); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "_id" : { "$oid" : "53878332364101041fb2c141" } , "employeeId" : 5 } |
Select all documents with unique id from a collection
private static void selectAllRecordByRecordNumber(DBCollection collection) { BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put( "employeeId" , 5 ); DBCursor cursor = collection.find(whereQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "_id" : { "$oid" : "538783623641e9b2da299fa7" } , "employeeId" : 5 , "employeeName" : "TestEmployee_5" } |
Aspired to become an Mongo DB Training?Explore the post to discover the know-hows on Mongo DB.
Document ids IN clause example
private static void in_Example(DBCollection collection) { BasicDBObject inQuery = new BasicDBObject(); List<Integer> list = new ArrayList<Integer>(); list.add( 2 ); list.add( 4 ); list.add( 5 ); inQuery.put( "employeeId" , new BasicDBObject( "$in" , list)); DBCursor cursor = collection.find(inQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "_id" : { "$oid" : "5387838d3641024de174c795" } , "employeeId" : 2 , "employeeName" : "TestEmployee_2" } { "_id" : { "$oid" : "5387838d3641024de174c797" } , "employeeId" : 4 , "employeeName" : "TestEmployee_4" } { "_id" : { "$oid" : "5387838d3641024de174c798" } , "employeeId" : 5 , "employeeName" : "TestEmployee_5" } |
Document ids less than or greater than clause example
private static void lessThan_GreaterThan_Example(DBCollection collection) { BasicDBObject getQuery = new BasicDBObject(); getQuery.put( "employeeId" , new BasicDBObject( "$gt" , 2 ).append( "$lt" , 5 )); DBCursor cursor = collection.find(getQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "_id" : { "$oid" : "538783b63641720cd34f98c8" } , "employeeId" : 3 , "employeeName" : "TestEmployee_3" } { "_id" : { "$oid" : "538783b63641720cd34f98c9" } , "employeeId" : 4 , "employeeName" : "TestEmployee_4" } |
Document ids NOT IN clause example
private static void negation_Example(DBCollection collection) { BasicDBObject neQuery = new BasicDBObject(); neQuery.put( "employeeId" , new BasicDBObject( "$ne" , 4 )); DBCursor cursor = collection.find(neQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "_id" : { "$oid" : "538783db3641d3ca9d400510" } , "employeeId" : 1 , "employeeName" : "TestEmployee_1" } { "_id" : { "$oid" : "538783db3641d3ca9d400511" } , "employeeId" : 2 , "employeeName" : "TestEmployee_2" } { "_id" : { "$oid" : "538783db3641d3ca9d400512" } , "employeeId" : 3 , "employeeName" : "TestEmployee_3" } { "_id" : { "$oid" : "538783db3641d3ca9d400514" } , "employeeId" : 5 , "employeeName" : "TestEmployee_5" } //4 is missing { "_id" : { "$oid" : "538783db3641d3ca9d400515" } , "employeeId" : 6 , "employeeName" : "TestEmployee_6" } { "_id" : { "$oid" : "538783db3641d3ca9d400516" } , "employeeId" : 7 , "employeeName" : "TestEmployee_7" } { "_id" : { "$oid" : "538783db3641d3ca9d400517" } , "employeeId" : 8 , "employeeName" : "TestEmployee_8" } { "_id" : { "$oid" : "538783db3641d3ca9d400518" } , "employeeId" : 9 , "employeeName" : "TestEmployee_9" } { "_id" : { "$oid" : "538783db3641d3ca9d400519" } , "employeeId" : 10 , "employeeName" : "TestEmployee_10" } |
Documents matching multiple fields example
private static void andLogicalComparison_Example(DBCollection collection) { BasicDBObject andQuery = new BasicDBObject(); List<BasicDBObject> obj = new ArrayList<BasicDBObject>(); obj.add( new BasicDBObject( "employeeId" , 2 )); obj.add( new BasicDBObject( "employeeName" , "TestEmployee_2" )); andQuery.put( "$and" , obj); System.out.println(andQuery.toString()); DBCursor cursor = collection.find(andQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "$and" : [ { "employeeId" : 2 } , { "employeeName" : "TestEmployee_2" }]} { "_id" : { "$oid" : "5387840336418a41167caaa4" } , "employeeId" : 2 , "employeeName" : "TestEmployee_2" } |
Documents matching field value to some REGEX example
private static void regex_Example(DBCollection collection) { BasicDBObject regexQuery = new BasicDBObject(); regexQuery.put( "employeeName" , new BasicDBObject( "$regex" , "TestEmployee_[3]" ) .append( "$options" , "i" )); System.out.println(regexQuery.toString()); DBCursor cursor = collection.find(regexQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } Output: { "employeeName" : { "$regex" : "TestEmployee_[3]" , "$options" : "i" }} { "_id" : { "$oid" : "538784213641917ce7068c57" } , "employeeId" : 3 , "employeeName" : "TestEmployee_3" } |
Complete Code for all examples
package examples.mongodb.crud; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.MongoClient; import com.mongodb.WriteResult; public class MongoDBSelectExample { private static void setUpTestData(DBCollection collection){ for ( int i= 1 ; i <= 10 ; i++) { collection.insert( new BasicDBObject().append( "employeeId" , i).append( "employeeName" , "TestEmployee_" +i)); } } public static void main(String[] args) throws UnknownHostException { MongoClient mongo = new MongoClient( "localhost" , 27017 ); DB db = mongo.getDB( "howtodoinjava" ); DBCollection collection = db.getCollection( "users" ); //Delete All documents before running example again WriteResult result = collection.remove( new BasicDBObject()); System.out.println(result.toString()); //Set up test data setUpTestData(collection); //Select all document from a collection selectAllRecordsFromACollection(collection); //Select first document in collection selectFirstRecordInCollection(collection); //Select single document and single field based on record number selectSingleRecordAndFieldByRecordNumber(collection); //Select all documents where record number = n selectAllRecordByRecordNumber(collection); //In example in_Example(collection); //Less than OR greater than example lessThan_GreaterThan_Example(collection); //Select document where record number != n negation_Example(collection); //And logical comparison query example andLogicalComparison_Example(collection); //Select documents based on regex match LIKE example regex_Example(collection); } private static void selectFirstRecordInCollection(DBCollection collection) { DBObject dbObject = collection.findOne(); System.out.println(dbObject); } private static void selectAllRecordsFromACollection(DBCollection collection) { DBCursor cursor = collection.find(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void selectSingleRecordAndFieldByRecordNumber(DBCollection collection) { BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put( "employeeId" , 5 ); BasicDBObject fields = new BasicDBObject(); fields.put( "employeeId" , 1 ); DBCursor cursor = collection.find(whereQuery, fields); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void selectAllRecordByRecordNumber(DBCollection collection) { BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put( "employeeId" , 5 ); DBCursor cursor = collection.find(whereQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void in_Example(DBCollection collection) { BasicDBObject inQuery = new BasicDBObject(); List<Integer> list = new ArrayList<Integer>(); list.add( 2 ); list.add( 4 ); list.add( 5 ); inQuery.put( "employeeId" , new BasicDBObject( "$in" , list)); DBCursor cursor = collection.find(inQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void lessThan_GreaterThan_Example( DBCollection collection) { BasicDBObject gtQuery = new BasicDBObject(); gtQuery.put( "employeeId" , new BasicDBObject( "$gt" , 2 ).append( "$lt" , 5 )); DBCursor cursor = collection.find(gtQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void negation_Example(DBCollection collection) { BasicDBObject neQuery = new BasicDBObject(); neQuery.put( "employeeId" , new BasicDBObject( "$ne" , 4 )); DBCursor cursor = collection.find(neQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void andLogicalComparison_Example(DBCollection collection) { BasicDBObject andQuery = new BasicDBObject(); List<BasicDBObject> obj = new ArrayList<BasicDBObject>(); obj.add( new BasicDBObject( "employeeId" , 2 )); obj.add( new BasicDBObject( "employeeName" , "TestEmployee_2" )); andQuery.put( "$and" , obj); System.out.println(andQuery.toString()); DBCursor cursor = collection.find(andQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } private static void regex_Example(DBCollection collection) { BasicDBObject regexQuery = new BasicDBObject(); regexQuery.put( "employeeName" , new BasicDBObject( "$regex" , "TestEmployee_[3]" ) .append( "$options" , "i" )); System.out.println(regexQuery.toString()); DBCursor cursor = collection.find(regexQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } } } |
That’s all for different techniques to fetch data from MongoDB.
For indepth understanding click on