diff --git a/java-mongodb/.gitignore b/java-mongodb/.gitignore new file mode 100644 index 0000000000..79ba317cb5 --- /dev/null +++ b/java-mongodb/.gitignore @@ -0,0 +1,5 @@ +.classpath +.project +.settings +target +build \ No newline at end of file diff --git a/java-mongodb/pom.xml b/java-mongodb/pom.xml new file mode 100644 index 0000000000..66b4bbdc99 --- /dev/null +++ b/java-mongodb/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + com.baeldung + java-mongodb + 1.0-SNAPSHOT + + + 1.8 + 1.8 + 4.12 + 3.4.1 + 1.11 + + + + + + junit + junit + ${junit.version} + test + + + + de.flapdoodle.embedmongo + de.flapdoodle.embedmongo + ${flapdoodle.version} + test + + + + + org.mongodb + mongo-java-driver + ${mongo.version} + + + + + \ No newline at end of file diff --git a/java-mongodb/src/main/java/com/baeldung/MongoExample.java b/java-mongodb/src/main/java/com/baeldung/MongoExample.java new file mode 100644 index 0000000000..fbef17a15f --- /dev/null +++ b/java-mongodb/src/main/java/com/baeldung/MongoExample.java @@ -0,0 +1,53 @@ +package com.baeldung; + +import com.mongodb.BasicDBObject; +import com.mongodb.DB; +import com.mongodb.DBCollection; +import com.mongodb.DBCursor; +import com.mongodb.MongoClient; + +public class MongoExample { + public static void main( String[] args ) { + + MongoClient mongoClient = new MongoClient("localhost", 27017); + + DB database = mongoClient.getDB("myMongoDb"); + + // print existing databases + mongoClient.getDatabaseNames().forEach(System.out::println); + + database.createCollection("customers", null); + + // print all collections in customers database + database.getCollectionNames().forEach(System.out::println); + + // create data + DBCollection collection = database.getCollection("customers"); + BasicDBObject document = new BasicDBObject(); + document.put("name", "Shubham"); + document.put("company", "Baeldung"); + collection.insert(document); + + // update data + BasicDBObject query = new BasicDBObject(); + query.put("name", "Shubham"); + BasicDBObject newDocument = new BasicDBObject(); + newDocument.put("name", "John"); + BasicDBObject updateObject = new BasicDBObject(); + updateObject.put("$set", newDocument); + collection.update(query, updateObject); + + // read data + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.put("name", "John"); + DBCursor cursor = collection.find(searchQuery); + while (cursor.hasNext()) { + System.out.println(cursor.next()); + } + + // delete data + BasicDBObject deleteQuery = new BasicDBObject(); + deleteQuery.put("name", "John"); + collection.remove(deleteQuery); + } +} diff --git a/java-mongodb/src/test/java/com/baeldung/AppTest.java b/java-mongodb/src/test/java/com/baeldung/AppTest.java new file mode 100644 index 0000000000..5dd6bb66a9 --- /dev/null +++ b/java-mongodb/src/test/java/com/baeldung/AppTest.java @@ -0,0 +1,72 @@ +package com.baeldung; + +import static org.junit.Assert.assertEquals; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import com.mongodb.BasicDBObject; +import com.mongodb.DB; +import com.mongodb.DBCollection; +import com.mongodb.DBCursor; +import com.mongodb.Mongo; +import de.flapdoodle.embedmongo.MongoDBRuntime; +import de.flapdoodle.embedmongo.MongodExecutable; +import de.flapdoodle.embedmongo.MongodProcess; +import de.flapdoodle.embedmongo.config.MongodConfig; +import de.flapdoodle.embedmongo.distribution.Version; +import de.flapdoodle.embedmongo.runtime.Network; + +public class AppTest { + + private static final String DB_NAME = "myMongoDb"; + private MongodExecutable mongodExe; + private MongodProcess mongod; + private Mongo mongo; + private DB db; + private DBCollection collection; + + @Before + public void setup() throws Exception { + + // Creating Mongodbruntime instance + MongoDBRuntime runtime = MongoDBRuntime.getDefaultInstance(); + + // Creating MongodbExecutable + mongodExe = runtime.prepare(new MongodConfig(Version.V2_0_1, 12345, + Network.localhostIsIPv6())); + + // Starting Mongodb + mongod = mongodExe.start(); + mongo = new Mongo("localhost", 12345); + + // Creating DB + db = mongo.getDB(DB_NAME); + + // Creating collection Object and adding values + collection = db.getCollection("customers"); + } + + @After + public void teardown() throws Exception { + mongod.stop(); + mongodExe.cleanup(); + } + + @Test + public void testAddressPersistance() { + + BasicDBObject contact = new BasicDBObject(); + contact.put("name", "John"); + contact.put("company", "Baeldung"); + + // Inserting document + collection.insert(contact); + DBCursor cursorDoc = collection.find(); + BasicDBObject contact1 = new BasicDBObject(); + while (cursorDoc.hasNext()) { + contact1 = (BasicDBObject) cursorDoc.next(); + System.out.println(contact1); + } + assertEquals(contact1.get("name"), "John"); + } +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 30503a0a9a..c590183137 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,5 @@ - + 4.0.0 com.baeldung parent-modules @@ -175,6 +174,7 @@ xml xmlunit2 xstream - + java-mongodb + - + \ No newline at end of file