Article code (#12715)
This commit is contained in:
parent
bedbeb1432
commit
ac868ffba1
|
@ -0,0 +1,157 @@
|
||||||
|
package com.baeldung.mongo.insert;
|
||||||
|
|
||||||
|
import com.mongodb.*;
|
||||||
|
import com.mongodb.client.FindIterable;
|
||||||
|
import com.mongodb.client.MongoCollection;
|
||||||
|
import com.mongodb.client.MongoCursor;
|
||||||
|
import com.mongodb.client.MongoDatabase;
|
||||||
|
import org.bson.Document;
|
||||||
|
import org.bson.conversions.Bson;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.mongodb.client.model.Filters.eq;
|
||||||
|
import static com.mongodb.client.model.Filters.in;
|
||||||
|
|
||||||
|
public class InsertArrayOperation {
|
||||||
|
|
||||||
|
private static MongoClient mongoClient;
|
||||||
|
private static MongoDatabase database;
|
||||||
|
private static MongoCollection<Document> collection;
|
||||||
|
private static DB db;
|
||||||
|
private static DBCollection dbCollection;
|
||||||
|
private static String collectionName;
|
||||||
|
private static String databaseName;
|
||||||
|
|
||||||
|
public static void setUp() {
|
||||||
|
if (mongoClient == null) {
|
||||||
|
mongoClient = new MongoClient("localhost", 27017);
|
||||||
|
|
||||||
|
databaseName = "baeldung";
|
||||||
|
collectionName = "student";
|
||||||
|
|
||||||
|
database = mongoClient.getDatabase(databaseName);
|
||||||
|
collection = database.getCollection(collectionName);
|
||||||
|
|
||||||
|
db = mongoClient.getDB(databaseName);
|
||||||
|
dbCollection = db.getCollection(collectionName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void insertSingleBsonDocumentWithStringArray() {
|
||||||
|
BasicDBList coursesList = new BasicDBList();
|
||||||
|
coursesList.add("Chemistry");
|
||||||
|
coursesList.add("Science");
|
||||||
|
|
||||||
|
DBObject student = new BasicDBObject().append("studentId", "STUD1")
|
||||||
|
.append("name", "Jim")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList);
|
||||||
|
|
||||||
|
dbCollection.insert(student);
|
||||||
|
|
||||||
|
Bson filter = eq("studentId", "STUD1");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
while (cursor.hasNext()) {
|
||||||
|
System.out.println(cursor.next());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void insertSingleDocumentWithStringArray() {
|
||||||
|
List<String> coursesList = new ArrayList<>();
|
||||||
|
coursesList.add("Science");
|
||||||
|
coursesList.add("Geography");
|
||||||
|
|
||||||
|
Document student = new Document().append("studentId", "STUD2")
|
||||||
|
.append("name", "Sam")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList);
|
||||||
|
|
||||||
|
collection.insertOne(student);
|
||||||
|
|
||||||
|
Bson filter = eq("studentId", "STUD2");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
while (cursor.hasNext()) {
|
||||||
|
System.out.println(cursor.next());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void insertMultipleDocumentsWithStringArray() {
|
||||||
|
List<String> coursesList1 = new ArrayList<>();
|
||||||
|
coursesList1.add("Chemistry");
|
||||||
|
coursesList1.add("Geography");
|
||||||
|
|
||||||
|
Document student1 = new Document().append("studentId", "STUD3")
|
||||||
|
.append("name", "Sarah")
|
||||||
|
.append("age", 12)
|
||||||
|
.append("courses", coursesList1);
|
||||||
|
|
||||||
|
List<String> coursesList2 = new ArrayList<>();
|
||||||
|
coursesList2.add("Maths");
|
||||||
|
coursesList2.add("History");
|
||||||
|
|
||||||
|
Document student2 = new Document().append("studentId", "STUD4")
|
||||||
|
.append("name", "Tom")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList2);
|
||||||
|
|
||||||
|
List<Document> students = new ArrayList<>();
|
||||||
|
students.add(student1);
|
||||||
|
students.add(student2);
|
||||||
|
|
||||||
|
collection.insertMany(students);
|
||||||
|
|
||||||
|
Bson filter = in("studentId", "STUD3", "STUD4");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
while (cursor.hasNext()) {
|
||||||
|
System.out.println(cursor.next());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void insertSingleDocumentWithObjectArray() {
|
||||||
|
Document course1 = new Document().append("name", "C1")
|
||||||
|
.append("points", 5);
|
||||||
|
|
||||||
|
Document course2 = new Document().append("name", "C2")
|
||||||
|
.append("points", 7);
|
||||||
|
|
||||||
|
List<Document> coursesList = new ArrayList<>();
|
||||||
|
coursesList.add(course1);
|
||||||
|
coursesList.add(course2);
|
||||||
|
|
||||||
|
Document student = new Document().append("studentId", "STUD5")
|
||||||
|
.append("name", "Avin")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList);
|
||||||
|
|
||||||
|
collection.insertOne(student);
|
||||||
|
|
||||||
|
Bson filter = eq("studentId", "STUD5");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
while (cursor.hasNext()) {
|
||||||
|
System.out.println(cursor.next());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String args[]) {
|
||||||
|
|
||||||
|
setUp();
|
||||||
|
|
||||||
|
insertSingleBsonDocumentWithStringArray();
|
||||||
|
|
||||||
|
insertSingleDocumentWithStringArray();
|
||||||
|
|
||||||
|
insertMultipleDocumentsWithStringArray();
|
||||||
|
|
||||||
|
insertSingleDocumentWithObjectArray();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,150 @@
|
||||||
|
package com.baeldung.mongo.insert;
|
||||||
|
|
||||||
|
import com.mongodb.*;
|
||||||
|
import com.mongodb.client.FindIterable;
|
||||||
|
import com.mongodb.client.MongoCollection;
|
||||||
|
import com.mongodb.client.MongoCursor;
|
||||||
|
import com.mongodb.client.MongoDatabase;
|
||||||
|
import org.bson.Document;
|
||||||
|
import org.bson.conversions.Bson;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.mongodb.client.model.Filters.eq;
|
||||||
|
import static com.mongodb.client.model.Filters.in;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
public class InsertArrayOperationLiveTest {
|
||||||
|
|
||||||
|
private static MongoClient mongoClient;
|
||||||
|
private static MongoDatabase database;
|
||||||
|
private static MongoCollection<Document> collection;
|
||||||
|
private static DB db;
|
||||||
|
private static DBCollection dbCollection;
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void setUp() {
|
||||||
|
if (mongoClient == null) {
|
||||||
|
mongoClient = new MongoClient("localhost", 27017);
|
||||||
|
|
||||||
|
database = mongoClient.getDatabase("baeldung");
|
||||||
|
collection = database.getCollection("student");
|
||||||
|
|
||||||
|
db = mongoClient.getDB("baeldung");
|
||||||
|
dbCollection = db.getCollection("student");
|
||||||
|
|
||||||
|
collection.drop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenSingleStudentObjectWithStringArray_whenInsertingDBObject_thenCheckingForDocument() {
|
||||||
|
BasicDBList coursesList = new BasicDBList();
|
||||||
|
coursesList.add("Chemistry");
|
||||||
|
coursesList.add("Science");
|
||||||
|
|
||||||
|
DBObject student = new BasicDBObject().append("studentId", "STUD1")
|
||||||
|
.append("name", "Jim")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList);
|
||||||
|
|
||||||
|
dbCollection.insert(student);
|
||||||
|
|
||||||
|
Bson filter = eq("studentId", "STUD2");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
|
||||||
|
assertNotNull(cursor);
|
||||||
|
assertTrue(cursor.hasNext());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenSingleStudentObjectWithStringArray_whenInsertingDocument_thenCheckingForDocument() {
|
||||||
|
List<String> coursesList = new ArrayList<>();
|
||||||
|
coursesList.add("Science");
|
||||||
|
coursesList.add("Geography");
|
||||||
|
|
||||||
|
Document student = new Document().append("studentId", "STUD2")
|
||||||
|
.append("name", "Sam")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList);
|
||||||
|
|
||||||
|
collection.insertOne(student);
|
||||||
|
|
||||||
|
Bson filter = eq("studentId", "STUD2");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
|
||||||
|
assertNotNull(cursor);
|
||||||
|
assertTrue(cursor.hasNext());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenMultipleStudentObjectsWithStringArray_whenInsertingDocuments_thenCheckingForDocuments() {
|
||||||
|
List<String> coursesList1 = new ArrayList<>();
|
||||||
|
coursesList1.add("Chemistry");
|
||||||
|
coursesList1.add("Geography");
|
||||||
|
|
||||||
|
Document student1 = new Document().append("studentId", "STUD3")
|
||||||
|
.append("name", "Sarah")
|
||||||
|
.append("age", 12)
|
||||||
|
.append("courses", coursesList1);
|
||||||
|
|
||||||
|
List<String> coursesList2 = new ArrayList<>();
|
||||||
|
coursesList2.add("Maths");
|
||||||
|
coursesList2.add("History");
|
||||||
|
|
||||||
|
Document student2 = new Document().append("studentId", "STUD4")
|
||||||
|
.append("name", "Tom")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList2);
|
||||||
|
|
||||||
|
List<Document> students = new ArrayList<>();
|
||||||
|
students.add(student1);
|
||||||
|
students.add(student2);
|
||||||
|
|
||||||
|
collection.insertMany(students);
|
||||||
|
|
||||||
|
Bson filter = in("studentId", "STUD3", "STUD4");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
|
||||||
|
assertNotNull(cursor);
|
||||||
|
assertTrue(cursor.hasNext());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenSingleStudentObjectWithObjectArray_whenInsertingDocument_thenCheckingForDocument() {
|
||||||
|
Document course1 = new Document().append("name", "C1")
|
||||||
|
.append("points", 5);
|
||||||
|
|
||||||
|
Document course2 = new Document().append("name", "C2")
|
||||||
|
.append("points", 7);
|
||||||
|
|
||||||
|
List<Document> coursesList = new ArrayList<>();
|
||||||
|
coursesList.add(course1);
|
||||||
|
coursesList.add(course2);
|
||||||
|
|
||||||
|
Document student = new Document().append("studentId", "STUD5")
|
||||||
|
.append("name", "Sam")
|
||||||
|
.append("age", 13)
|
||||||
|
.append("courses", coursesList);
|
||||||
|
|
||||||
|
collection.insertOne(student);
|
||||||
|
|
||||||
|
Bson filter = eq("studentId", "STUD5");
|
||||||
|
FindIterable<Document> documents = collection.find(filter);
|
||||||
|
|
||||||
|
MongoCursor<Document> cursor = documents.iterator();
|
||||||
|
|
||||||
|
assertNotNull(cursor);
|
||||||
|
assertTrue(cursor.hasNext());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue