Basics of Java mongodb

Mongo Db Java Driver :  Total 33 packages.

Com.mongodb is the core package.

Com.mongdb.util  –> has the classes that can be used in anywhere , basically utilty classes

Com.mongdb.util.JSON –> one of the mose useful class. It contains the helper  methods to serialese and desericalze the data.

Methods: 

It has 4 methods among i am takeing 2 here

Static Object parse(String jsonData) –> parses json string and returns the  corresponding java object.

Static String serialize(Object object) –> serialize a object into json form.

Note: JsonParseException — > exception that is thrown when invalid JSON encountered while  parsing the json.

 

 Com.mongodb.annotations  –>  has the  annotations that can be apply any part of the  driver classes

There are 4 annotations , they are

@Beta  –>signifies that public api is subjected to change, or removal in future.

@Immutable –> The class which this annotation is applied is Immutable.

@NotThreadSafe —> The class which this annotation is applied is not thread safe.

@ThreadSafe –> the class which this annotation is applied is thread safe.

 

Basic building blocks of mongoDB java driver

 

Cursor :

Interface for providing consistent behavior between different cursor implementations.

Methods:

Close();

gerCursorId();

getServerAddress();

 

DBCursor:

 

It is not thread safe

Implements cursor and iterable<DBObject>

It is an iterator over database results querys. Doing find() query over a collection returns the db cursor.

Ex:  DBCursor cursor = collection.find(query);

    if(cursor.hasNext()) {

       DBObject obj = cursor.next();

    }

Warning: Calling toArray or length on a DBCursor will irrevocably turn it into an array.

 This means that, if the cursor was iterating over ten million results

 (which it was lazily fetching from the database),

 suddenly there will be a ten-million element array in memory.

Before converting to an array, make sure that there are a reasonable number

of results using skip() and limit().

For example, to get an array of the 1000-1100th elements of a cursor, use

   List<DBObject> obj = collection.find(query).skip(1000).limit(100).toArray();

 

Methods:

 

  1. Void Close() : Terminates the cursor on server.
  2. DbCursor Copy() : creates a copy of existing database cursor.
  3. Int Count() : counts the number of records matching the query.
  4. DBObject Curr() : returns the element the cursor is at.
  5. Int getBatchSize() : gets batch size.
  6. Long getCursorId() : get the servers identifier for this cursor
  7. DbObject getKeyWanted() : get the fields to be returnd.
  8. Int getLimit() : get the query limit

Other util methods.

 

BasicDbList :

 

It is a class, that is equalent to arrayList in the java . We can store the subcollections

in the basicDBList.

Ex:      BasicDBList programList = (BasicDBList) dBObject.get(“Program”);

Where program is a subcollection in the main collection.

 

DBCollection:

 

Equalent java object for mongodb collection.

 

DB:  a thread safe class , it is a client view of logical database in the mongdb cluester.

A DB instance can be acheived from MongoClient

   EX: MongoClient mongoClient = new MongoClient();

  DB db = mongoClient.getDB(“<db name>”);

 

BasicDBObject:

It is a basic implementation of BSON Object that is mongodb specific.

It implemented DbObject interface . A DBObject can be crated as follows

 DBObject obj = new BasicDBObject();

 obj.put( “foo”, “bar” );

Note: in this class the toString() method is overrides to serialise

the current object

 public String toString() {

        return JSON.serialize(this);

    }

 

DBObject :  this is an interface, it adds some specific behaviour to BSONObject for mongodb documents.

 

 

org. bson. BSONObject : it is an interface. It is super class for DbObject.

It is basicaly a key-value map that can be saved to the database.

Advertisements

About sivateja

I am a professional graduate..I am passionate about Latest Technology.
This entry was posted in mongodb and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s