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:
@@ -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;
|
||||
|
||||
+6
-6
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -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
-2
@@ -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");
|
||||
|
||||
|
||||
+3
-3
@@ -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");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-11
@@ -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
-2
@@ -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;
|
||||
|
||||
+3
-2
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user