Basic Java CRUD Operations with MongoDBIn 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 databaseTo 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 DocumentsTo 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 DocumentsTo 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 DocumentsTo 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 DocumentsFinally, 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); } This article was originally published at davidsalter.co.uk
You can discuss this post here.
|
|