Làm cách nào để thêm trường vào tài liệu hiện có trong mongodb bằng java?

MongoDB là cơ sở dữ liệu NoSQL định hướng tài liệu phân tán và mã nguồn mở phổ biến nhất. Một tài liệu trong MongoDB là một cấu trúc dữ liệu với các đối tượng giống như JSON có các cặp trường và giá trị

Để chèn tài liệu vào bộ sưu tập MongoDB, chúng ta có thể sử dụng các phương thức khác nhau như insert(), insertOne() và insertMany()

Trong hướng dẫn này, chúng ta sẽ thảo luận về cách chèn một mảng bên trong tài liệu MongoDB. Trước tiên, chúng ta sẽ xem xét việc chèn một mảng vào tài liệu bằng truy vấn MongoDB Shell. Sau đó, chúng tôi sẽ sử dụng mã trình điều khiển Java MongoDB

2. Khởi tạo cơ sở dữ liệu

Trước khi chúng ta chuyển sang các truy vấn chèn, trước tiên hãy tạo một cơ sở dữ liệu. Hãy gọi nó là baeldung. Chúng tôi cũng sẽ tạo một bộ sưu tập mẫu có tên sinh viên

use baeldung;
db.createCollection(student);

Với lệnh này, cơ sở dữ liệu baeldung mẫu và bộ sưu tập sinh viên của chúng tôi đã được thiết lập thành công. Chúng tôi sẽ sử dụng những điều này để chứng minh trong tất cả các ví dụ

3. Sử dụng MongoDB Shell

Để chèn một mảng vào một bộ sưu tập bằng MongoDB Shell, chúng ta chỉ cần chuyển mảng đó dưới dạng một loại JSON Array cho shell

db.student.insert({
    "studentId" : "STU1",
    "name" : "Avin",
    "Age" : 12,
    "courses" : ["Science", "Math"]
});

Truy vấn trên chèn một tài liệu với một mảng vào tập hợp sinh viên. Chúng tôi có thể xác minh kết quả bằng cách truy vấn các tài liệu của bộ sưu tập sinh viên bằng cách sử dụng toán tử tìm

db.student.find();

Truy vấn trên trả về tài liệu tuyển tập sinh viên đã chèn

{
    "_id" : ObjectId("631da4197581ba6bc1d2524d"),
    "studentId" : "STU1",
    "name" : "Avin",
    "Age" : 12,
    "courses" : [ "Science", "Math" ]
}

4. Thao tác chèn bằng mã trình điều khiển Java

Trình điều khiển Java MongoDB cung cấp nhiều phương thức tiện lợi khác nhau để giúp chúng tôi chèn tài liệu vào bộ sưu tập

  • insert() – Chèn một tài liệu hoặc nhiều tài liệu vào một bộ sưu tập
  • insertOne() – Chèn một tài liệu vào một bộ sưu tập
  • insertMany() – Chèn nhiều tài liệu vào một bộ sưu tập

Bất kỳ phương pháp nào ở trên đều có thể được sử dụng để thực hiện thao tác chèn trên bộ sưu tập MongoDB

Tiếp theo, hãy đi sâu vào triển khai thao tác chèn mảng bằng Trình điều khiển Java MongoDB. Trình điều khiển Java MongoDB hỗ trợ cả tài liệu DBObject và BSON

5. Sử dụng DBObject

Ở đây, DBObject là một phần của trình điều khiển kế thừa MongoDB, nhưng nó không được dùng trong các phiên bản MongoDB mới hơn

Hãy chèn một tài liệu DBObject với một mảng vào bộ sưu tập sinh viên

BasicDBList coursesList = new BasicDBList();
coursesList.add("Chemistry");
coursesList.add("Science");

DBObject student = new BasicDBObject().append("studentId", "STU1")
  .append("name", "Jim")
  .append("age", 13)
  .append("courses", coursesList);

dbCollection.insert(student);

Truy vấn trên chèn một tài liệu DBObject với một mảng vào tập hợp sinh viên

6. Sử dụng Tài liệu BSON

Tài liệu BSON là cách mới để truy cập tài liệu MongoDB trong Java và được xây dựng với ngăn xếp máy khách mới hơn. May mắn thay, nó cũng dễ sử dụng hơn

 

Trình điều khiển Java cung cấp một tổ chức. con trai. Lớp tài liệu để chèn một đối tượng tài liệu Bson với một mảng vào bộ sưu tập sinh viên

6. 1. Chèn một tài liệu với một mảng

Đầu tiên, hãy chèn một tài liệu có một mảng vào bộ sưu tập bằng phương thức insertOne()

List coursesList = new ArrayList<>();
coursesList.add("Science");
coursesList.add("Geography");

Document student = new Document().append("studentId", "STU2")
  .append("name", "Sam")
  .append("age", 13)
  .append("courses", coursesList);

collection.insertOne(student);

Truy vấn trên chèn một tài liệu với một mảng vào bộ sưu tập sinh viên. Điều quan trọng cần lưu ý là phương thức append(String, Object) của lớp Tài liệu chấp nhận một Đối tượng làm giá trị. Chúng ta có thể chuyển Danh sách của bất kỳ loại Đối tượng nào làm giá trị để chèn nó dưới dạng một mảng vào tài liệu

6. 2. Chèn nhiều tài liệu với một mảng

Hãy chèn nhiều tài liệu với một mảng vào bộ sưu tập bằng phương thức insertMany()

List coursesList1 = new ArrayList<>();
coursesList1.add("Chemistry");
coursesList1.add("Geography");

Document student1 = new Document().append("studentId", "STU3")
  .append("name", "Sarah")
  .append("age", 12)
  .append("courses", coursesList1);

List coursesList2 = new ArrayList<>();
coursesList2.add("Math");
coursesList2.add("History");

Document student2 = new Document().append("studentId", "STU4")
  .append("name", "Tom")
  .append("age", 13)
  .append("courses", coursesList2);

List students = new ArrayList<>();
students.add(student1);
students.add(student2);

collection.insertMany(students);

Truy vấn trên chèn nhiều tài liệu với một mảng vào bộ sưu tập sinh viên

6. 3. Chèn một mảng đối tượng

Cuối cùng, hãy chèn một loại tài liệu mảng Đối tượng vào bộ sưu tập MongoDB

Document course1 = new Document().append("name", "C1")
  .append("points", 5);

Document course2 = new Document().append("name", "C2")
  .append("points", 7);

List coursesList = new ArrayList<>();
coursesList.add(course1);
coursesList.add(course2);

Document student = new Document().append("studentId", "STU5")
  .append("name", "Sam")
  .append("age", 13)
  .append("courses", coursesList);

collection.insertOne(student);

Truy vấn trên chèn nhiều tài liệu với một mảng Đối tượng vào bộ sưu tập sinh viên. Ở đây, chúng tôi đã chèn một tài liệu có danh sách các tài liệu dưới dạng một mảng vào bộ sưu tập. Tương tự, chúng ta có thể xây dựng bất kỳ Đối tượng mảng phức tạp nào và chèn nó vào bộ sưu tập MongoDB

7. Phần kết luận

Trong bài viết này, chúng ta đã thấy nhiều cách khác nhau để chèn tài liệu có đối tượng mảng vào bộ sưu tập MongoDB. Chúng ta đã thảo luận về các trường hợp sử dụng này bằng cách sử dụng cả truy vấn MongoDB Shell cũng như triển khai mã trình điều khiển Java tương ứng

Với mã ổ đĩa Java, trước tiên chúng tôi xem xét việc triển khai bằng cách sử dụng lớp DBObject không dùng nữa. Sau đó, chúng tôi đã học cách triển khai tương tự bằng cách sử dụng lớp Tài liệu BSON mới

Làm cách nào để cập nhật tài liệu hiện có trong bộ sưu tập MongoDB bằng Java?

Bạn có thể cập nhật một tài liệu bằng cách sử dụng phương thức updateOne() trên đối tượng MongoCollection . Phương thức chấp nhận bộ lọc phù hợp với tài liệu bạn muốn cập nhật và câu lệnh cập nhật hướng dẫn trình điều khiển cách thay đổi tài liệu phù hợp.

Làm cách nào để thêm dữ liệu vào MongoDB bằng Java?

Kết nối với cơ sở dữ liệu bằng phương thức getDatabase(). Chuẩn bị tài liệu được chèn. Lấy đối tượng của bộ sưu tập mà bạn muốn chèn tài liệu vào, sử dụng phương thức getCollection(). Gọi phương thức insertOne() bằng cách chuyển tài liệu (đã tạo ở trên) làm tham số

Làm cách nào để chèn mảng trong MongoDB bằng Java?

Trình điều khiển Java MongoDB hỗ trợ cả tài liệu DBObject và BSON. .
insert() – Chèn một tài liệu hoặc nhiều tài liệu vào một bộ sưu tập
insertOne() – Chèn một tài liệu vào một bộ sưu tập
insertMany() – Chèn nhiều tài liệu vào một bộ sưu tập

Làm cách nào để sử dụng MongoClient trong Java?

Kết nối với Java . instantiate a MongoClient by passing a MongoDB Atlas connection string into the MongoClients. phương thức tĩnh tạo (). Điều này sẽ thiết lập kết nối với MongoDB Atlas bằng chuỗi kết nối.