Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Basic Java CRUD Operations with MongoDB

DZone's Guide to

Basic Java CRUD Operations with MongoDB

· Database Zone
Free Resource

Learn how to create flexible schemas in a relational database using SQL for JSON.

In this post I’d like to show how to perform basic CRUD operations against a MongoDB database using the Java driver.


For this post, lets assume that we have a todo database with a collection of todo items. Each item has a task and a priority.
In terms of JSON notation, an example item would look like:
{
  "_id" : { "$oid" : "4bffb75121eec88a67ff6ec8"} ,
  "task" : "Write Code" ,
  "priority" : "high"
}
Now that we have defined what we are storing in the database, lets have a look at how we connect to Mongo.

Connection to the database

To connect to a MongoDB database, we would use code similar to that below. In this code you can see that we are connecting to a database called todo and getting the collection called items. In MongoDB if neither of these items exist, they will be automatically created.
Mongo mongo = new Mongo();
DB db = mongo.getDB("todo");
DBCollection items = db.getCollection("items");

Creating documents

To add a document to a collection, we use the insert() method of the collection.
BasicDBObject doc1 = new BasicDBObject();
doc1.put("task", "Write Code");
doc1.put("priority", "high");
items.insert(doc1);

Retrieving documents

To retrieve documents from a collection, we can create a query and then iterate through it with a cursor.
BasicDBObject query = new BasicDBObject();
query.put("priority", "highest");
DBCursor cursor = items.find(query);
// Print out "highest" priority items
while (cursor.hasNext()) {
    System.out.println(cursor.next());
}

This query will find all the objects in the collection that have a priority of highest. If we wanted to get all of the items in the collection, we would create the cursor without a query as shown below.
DBCursor cursor = items.find();

Updating documents

To update an object, we first have to get the object from the collection then we save it back into the collection.
BasicDBObject findTestItemQuery = new BasicDBObject();
findTestItemQuery.put("task", "Test Code");
DBCursor testItemsCursor = items.find(findTestItemQuery);
if(testItemsCursor.hasNext()) {
    DBObject testCodeItem = testItemsCursor.next();
    testCodeItem.put("task", "Test and Review Code");
    items.save(testCodeItem);
}

Deleting Documents

Finally, to delete a document or set of documents, we use the remove method of the collection.
BasicDBObject deleteQuery = new BasicDBObject();
deleteQuery.put("priority", "highest");
DBCursor cursor = items.find(deleteQuery);
while (cursor.hasNext()) {
    DBObject item = cursor.next();
    items.remove(item);
}

 

From http://www.davidsalter.co.uk/1/post/2011/05/basic-java-crud-operations-with-mongodb.html

Create flexible schemas using dynamic columns for semi-structured data. Learn how.

Topics:
java ,nosql ,persistence

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}