tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 No SQL > Mongo DB > How to query a Collection using QueryBuilder

How to query a Collection using QueryBuilder 

MongoDB is a scalable, high-performance, open source NoSQL database. It offers Ad hoc queries, Indexing, Replication, Load balancing, File storage (GridFS), Aggregation, MapReduce and Server-side JavaScript execution. This requires the library mongo-2.8.0.jar to be present in the classpath. The following example shows how to query a collection using QueryBuilder.

File Name  :  mynums.json

File Name  :  
com/bethecoder/tutorials/mongodb/tests/QueryBuilderTest.java 
Author  :  Sudhakar KV
Email  :  [email protected]
   
package com.bethecoder.tutorials.mongodb.tests;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.QueryBuilder;

public class QueryBuilderTest {

  /**
   @param args
   */
  public static void main(String[] args) {

    try {
      //Connect to mongoDB with given IP and PORT
      Mongo mongo = new Mongo("localhost"27017);
      
      //Get the database object
      DB database = mongo.getDB("mytestdb");
      
      //Gets a collection with a given name.
      DBCollection collection = database.getCollection("mynums");

      //Query for  num > 2 && num < 9
      DBObject query = QueryBuilder.start("num").greaterThan(2)
                    .and("num").lessThan(9).get();
      
      //Queries for all objects in this collection
      DBCursor dbCursor = collection.find(query);
      DBObject record = null;
      
      while (dbCursor.hasNext()) {
        record = dbCursor.next();
        System.out.println(record);
      }
      
    catch (UnknownHostException e) {
      e.printStackTrace();
    catch (MongoException e) {
      e.printStackTrace();
    }
  }
}
   

It gives the following output,
{ "_id" : 3 , "num" : 3 , "even" : false , "num^2" : 9.0}
{ "_id" : 4 , "num" : 4 , "even" : true , "num^2" : 16.0}
{ "_id" : 5 , "num" : 5 , "even" : false , "num^2" : 25.0}
{ "_id" : 6 , "num" : 6 , "even" : true , "num^2" : 36.0}
{ "_id" : 7 , "num" : 7 , "even" : false , "num^2" : 49.0}
{ "_id" : 8 , "num" : 8 , "even" : true , "num^2" : 64.0}



 
  


  
bl  br