JAVA-18264 Update article "A Guide to MongoDB with Java" (#13466)

* JAVA-18264 Update article "A Guide to MongoDB with Java"

* JAVA-18264 Update with suggestion

* JAVA-18264 Additional updates

* JAVA-18264 Format pom.xml

---------

Co-authored-by: timis1 <noreplay@yahoo.com>
This commit is contained in:
timis1
2023-02-27 12:38:14 +02:00
committed by GitHub
parent 5bc3c69737
commit b161aeec27
20 changed files with 222 additions and 224 deletions
@@ -1,53 +1,64 @@
package com.baeldung;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
import java.util.ArrayList;
import org.bson.Document;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
public class MongoExample {
public static void main(String[] args) {
try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")) {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("myMongoDb");
DB database = mongoClient.getDB("myMongoDb");
// print existing databases
mongoClient.listDatabaseNames().forEach(System.out::println);
// print existing databases
mongoClient.getDatabaseNames().forEach(System.out::println);
boolean collectionExists = mongoClient.getDatabase("myMongoDb").listCollectionNames()
.into(new ArrayList<>()).contains("customers");
if (!collectionExists) {
database.createCollection("customers");
}
database.createCollection("customers", null);
// print all collections in customers database
database.listCollectionNames().forEach(System.out::println);
// print all collections in customers database
database.getCollectionNames().forEach(System.out::println);
// create data
MongoCollection<Document> collection = database.getCollection("customers");
Document document = new Document();
document.put("name", "Shubham");
document.put("company", "Baeldung");
collection.insertOne(document);
// create data
DBCollection collection = database.getCollection("customers");
BasicDBObject document = new BasicDBObject();
document.put("name", "Shubham");
document.put("company", "Baeldung");
collection.insert(document);
// update data
Document query = new Document();
query.put("name", "Shubham");
Document newDocument = new Document();
newDocument.put("name", "John");
Document updateObject = new Document();
updateObject.put("$set", newDocument);
collection.updateOne(query, updateObject);
// 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
Document searchQuery = new Document();
searchQuery.put("name", "John");
FindIterable<Document> cursor = collection.find(searchQuery);
try (final MongoCursor<Document> cursorIterator = cursor.cursor()) {
while (cursorIterator.hasNext()) {
System.out.println(cursorIterator.next());
}
}
// 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
Document deleteQuery = new Document();
deleteQuery.put("name", "John");
collection.deleteOne(deleteQuery);
}
// delete data
BasicDBObject deleteQuery = new BasicDBObject();
deleteQuery.put("name", "John");
collection.remove(deleteQuery);
}
}
@@ -1,11 +1,9 @@
package com.baeldung.bsontojson;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.Set;
import dev.morphia.annotations.Embedded;
import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Field;
import dev.morphia.annotations.Id;
@@ -25,7 +23,7 @@ public class Book {
@Property
private String title;
private String author;
@Embedded
private Publisher publisher;
@Property("price")
private double cost;
@@ -4,8 +4,8 @@ import java.util.ArrayList;
import org.bson.Document;
import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
@@ -18,7 +18,7 @@ public class CollectionExistence {
public static void setUp() {
if (mongoClient == null) {
mongoClient = new MongoClient("localhost", 27017);
mongoClient = MongoClients.create("mongodb://localhost:27017");
}
databaseName = "baeldung";
testCollectionName = "student";
@@ -26,9 +26,9 @@ public class CollectionExistence {
public static void collectionExistsSolution() {
DB db = mongoClient.getDB(databaseName);
MongoDatabase db = mongoClient.getDatabase(databaseName);
System.out.println("collectionName " + testCollectionName + db.collectionExists(testCollectionName));
System.out.println("collectionName " + testCollectionName + db.listCollectionNames().into(new ArrayList<>()).contains(testCollectionName));
}
@@ -62,7 +62,7 @@ public class CollectionExistence {
MongoCollection<Document> collection = database.getCollection(testCollectionName);
System.out.println(collection.count());
System.out.println(collection.countDocuments());
}
@@ -5,7 +5,8 @@ import java.util.Date;
import org.bson.Document;
import org.bson.types.ObjectId;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
@@ -13,7 +14,7 @@ public class RetrieveIdExample {
public static void main(String[] args) {
try ( MongoClient mongoClient = new MongoClient("localhost", 27017) ) {
try ( MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017") ) {
MongoDatabase database = mongoClient.getDatabase("myMongoDb");
MongoCollection<Document> collection = database.getCollection("example");
@@ -3,7 +3,8 @@ package com.baeldung.mongo.update;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.UpdateResult;
@@ -16,7 +17,7 @@ public class MultipleFieldsExample {
// Connect to cluster (default is localhost:27017)
//
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase database = mongoClient.getDatabase("baeldung");
MongoCollection<Document> collection = database.getCollection("employee");
@@ -2,7 +2,8 @@ package com.baeldung.mongo.update;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
@@ -83,10 +84,9 @@ public class UpdateFields {
public static void setup() {
if (mongoClient == null) {
mongoClient = new MongoClient("localhost", 27017);
mongoClient = MongoClients.create("mongodb://localhost:27017");
database = mongoClient.getDatabase("baeldung");
collection = database.getCollection("student");
}
}
@@ -2,7 +2,8 @@ package com.baeldung.mongo.update;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
@@ -16,19 +17,19 @@ public class UpdateMultipleFields {
//
// Connect to cluster
//
try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27007");) {
MongoDatabase database = mongoClient.getDatabase("baeldung");
MongoCollection<Document> collection = database.getCollection("employee");
MongoClient mongoClient = new MongoClient("localhost", 27007);
MongoDatabase database = mongoClient.getDatabase("baeldung");
MongoCollection<Document> collection = database.getCollection("employee");
//
// Update query
//
//
// Update query
//
UpdateResult updateResult = collection.updateMany(Filters.eq("employee_id", 794875), Updates.combine(Updates.set("department_id", 4), Updates.set("job", "Sales Manager")));
UpdateResult updateResult = collection.updateMany(Filters.eq("employee_id", 794875), Updates.combine(Updates.set("department_id", 4), Updates.set("job", "Sales Manager")));
System.out.println("updateResult:- " + updateResult);
System.out.println("updateResult:- " + updateResult.getModifiedCount());
System.out.println("updateResult:- " + updateResult);
System.out.println("updateResult:- " + updateResult.getModifiedCount());
}
}
@@ -1,6 +1,5 @@
package com.baeldung.morphia.domain;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.Set;
@@ -25,7 +24,7 @@ public class Book {
@Property
private String title;
private String author;
@Embedded
private Publisher publisher;
@Property("price")
private double cost;
@@ -10,8 +10,9 @@ import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
@@ -45,7 +46,7 @@ public class TagRepository implements Closeable {
* Instantiates a new TagRepository by opening the DB connection.
*/
public TagRepository() {
mongoClient = new MongoClient("localhost", 27018);
mongoClient = MongoClients.create("mongodb://localhost:27018");
MongoDatabase database = mongoClient.getDatabase("blog");
collection = database.getCollection("posts");
}