Hướng dẫn can i use java with mongodb? - tôi có thể sử dụng java với mongodb không?

Java và MongoDB là hai trong số những công nghệ phổ biến nhất để phát triển phần mềm, vì vậy không có gì ngạc nhiên khi họ làm việc tốt với nhau. Cho dù bạn đang phát triển trên một cài đặt MongoDB cục bộ hoặc tại chỗ hoặc đi trước đám mây với MongoDB Atlas, trình điều khiển Java MongoDB và hệ sinh thái xung quanh làm cho nó trở thành một cú hích để tích hợp MongoDB vào quá trình phát triển của bạn.

Mặc dù Java nổi tiếng là có bộ sưu tập các thư viện lập bản đồ quan hệ đối tượng (ORM) mạnh mẽ nhất để xử lý dữ liệu quan hệ, nhưng việc sử dụng các tài liệu trong Java đơn giản và mạnh mẽ hơn nhiều.

Nếu bạn đang bắt đầu một dự án mới ngày hôm nay, hãy xem xét việc thiết lập trên MongoDB Atlas từ Get-Go. Bạn không chỉ nhận được một dịch vụ cơ sở dữ liệu bản địa được quản lý đầy đủ, Atlas đã tích hợp tìm kiếm toàn văn, biểu đồ, điều hướng dữ liệu và nhiều hơn nữa. Nếu bạn đang phát triển cho iOS hoặc Android, Atlas App Services sẽ làm cho đồng bộ hóa di động trở thành một cú hích. Bạn thậm chí có thể xây dựng các ứng dụng web trên GraphQL trực tiếp trên Atlas MongoDB.

Cách thiết lập Java và MongoDB

Giả sử bạn đã cài đặt Java trên hệ thống của mình và IDE yêu thích của bạn đã bị kích hoạt và sẵn sàng để đi, điều đầu tiên bạn muốn làm là lấy trình điều khiển Java MongoDB. Hầu hết các IDE sẽ chọn tài nguyên được cấu hình trong Gradle hoặc Maven, một trong hai có thể được sử dụng để cài đặt trình điều khiển.

Tốt nghiệp

Đối với Gradle, hãy thêm phần sau vào Tệp Build.Gradle của bạn: java compile 'org.mongodb:mongodb-driver-sync:4.0.5'

Maven

Đối với Maven, thêm các mục sau: java org.mongodb mongodb-driver-sync 4.0.5 Lưu ý rằng tại 4.0, gói trình điều khiển Java MongoDB cũng bao gồm trình điều khiển Scala MongoDB và trình điều khiển luồng phản ứng Java MongoDB để truy cập không đồng bộ không chặn.

 import com.mongodb.*;
 import com.mongodb.client.MongoClients;
 import com.mongodb.client.MongoClient;
 import com.mongodb.client.MongoCollection;
 import com.mongodb.client.MongoDatabase;
 import com.mongodb.client.model.Filters;

 import com.mongodb.client.model.UpdateOptions;
 import com.mongodb.client.result.*;
 import org.bson.Document;
 import org.bson.types.ObjectId;

 import java.util.List;
 import java.util.Arrays;
 import java.util.ArrayList;

 import static com.mongodb.client.model.Filters.*;
 import static com.mongodb.client.model.Updates.*;

Kết nối:

MongoClient client = MongoClients.create("<>");

Để kết nối với MongoDB trên phiên bản cục bộ và cổng mặc định của bạn, bạn chỉ có thể bỏ qua phần URI của các bên trên hoặc sử dụng URI như 'MongoDB: // LocalHost: 27017'. Đối với MongoDB Atlas, bạn có thể tìm thấy chuỗi kết nối trong bảng điều khiển cụm - và đảm bảo rằng bạn đã liệt kê lại địa chỉ IP phát triển của mình để truy cập.

Khi bạn kết nối, bạn sẽ tham gia các cuộc đua!

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);

Hãy thử viết một số dữ liệu: java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();

Lấy lại tài liệu của bạn thật đơn giản: java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());

Những gì bạn cần biết

Nếu bạn muốn sử dụng các đối tượng Java cũ đơn giản của riêng mình (POJOS) thay vì các tài liệu, bạn cũng có thể sử dụng trình điều khiển Java MongoDB được xây dựng trong hỗ trợ POJO.

Cách sử dụng MongoDB với Java

Với sự hỗ trợ rộng rãi cho mọi loại phần mềm trên hành tinh trong cộng đồng Java, câu hỏi thực sự cho các lập trình viên Java làm việc với Mongo là, bạn đang xây dựng khung ứng dụng nào?

Cập nhật

Ngày 25 tháng 3 năm 2021

  • Cập nhật trình điều khiển Java lên 4.2.2.

  • Đã thêm ví dụ mã hóa trường bên khách hàng.

Ngày 21 tháng 10 năm 2020

  • Cập nhật trình điều khiển Java lên 4.1.1.

  • Ghi nhật ký trình điều khiển Java MongoDB hiện được bật thông qua API SLF4J phổ biến vì vậy tôi đã thêm logback trong pom.xml và tệp cấu hình logback.xml.SLF4J API so I added logback in the pom.xml and a configuration file logback.xml.

Giới thiệu

Hướng dẫn can i use java with mongodb? - tôi có thể sử dụng java với mongodb không?

Trong bài đăng trên blog đầu tiên này của Sê -ri Bắt đầu nhanh Java, tôi sẽ chỉ cho bạn cách thiết lập dự án Java của bạn với Maven và thực hiện lệnh MongoDB trong Java. Sau đó, chúng tôi sẽ khám phá các hoạt động phổ biến nhất - chẳng hạn như tạo, đọc, cập nhật và xóa - sử dụng trình điều khiển Java MongoDB. Tôi cũng sẽ cho bạn thấy một số tùy chọn và tính năng mạnh mẽ hơn có sẵn như là một phần của trình điều khiển Java MongoDB cho mỗi hoạt động này, cung cấp cho bạn một nền tảng kiến ​​thức thực sự tuyệt vời để xây dựng khi chúng tôi trải qua loạt phim.MongoDB Java driver. I will also show you some of the more powerful options and features available as part of the MongoDB Java driver for each of these operations, giving you a really great foundation of knowledge to build upon as we go through the series.

Trong các bài đăng trên blog trong tương lai, chúng tôi sẽ tiếp tục và làm việc thông qua:

  • Giao dịch axit đa tài liệu.

  • Trình điều khiển dòng phản ứng Java MongoDB.

Tại sao MongoDB và Java?

Điều kiện tiên quyết

Để làm theo, bạn có thể sử dụng bất kỳ môi trường nào bạn thích và môi trường phát triển tích hợp mà bạn chọn. Tôi sẽ sử dụng Maven 3.6.2 và Java OpenJDK 13, nhưng tất cả các mã sẽ tương thích với các phiên bản Java 8 đến 13, vì vậy hãy sử dụng JDK của sự lựa chọn của bạn và cập nhật phiên bản Java phù hợp trong tệp pom.xml Chúng tôi sắp thiết lập.Maven 3.6.2 and the Java OpenJDK 13, but all the code will be compatible with Java versions 8 to 13, so feel free to use the JDK of your choice and update the Java version accordingly in the pom.xml file we are about to set up.

Nhận cụm M0 miễn phí của bạn trên MongoDB Atlas ngay hôm nay. Nó miễn phí mãi mãi và bạn sẽ có thể sử dụng nó để làm việc với các ví dụ trong loạt blog này.MongoDB Atlas today. It's free forever, and you'll be able to use it to work with the examples in this blog series.

Hãy nhảy vào và xem xét Java và MongoDB hoạt động tốt như thế nào.

Được thiết lập

Để bắt đầu, chúng tôi sẽ cần thiết lập một dự án Maven mới. Bạn có hai tùy chọn tại thời điểm này. Bạn có thể sao chép kho lưu trữ Git của loạt bài này hoặc bạn có thể tạo và thiết lập dự án Maven.

Sử dụng kho lưu trữ Git

Nếu bạn chọn sử dụng Git, bạn sẽ nhận được tất cả mã ngay lập tức. Tôi vẫn khuyên bạn nên đọc qua thiết lập thủ công.

Bạn có thể sao chép kho lưu trữ nếu bạn thích với lệnh sau.

Hướng dẫn can i use java with mongodb? - tôi có thể sử dụng java với mongodb không?

Thiết lập thủ công

Bạn có thể sử dụng IDE yêu thích của mình để tạo dự án Maven mới cho bạn hoặc bạn có thể tạo Dự án Maven theo cách thủ công. Dù bằng cách nào, bạn nên lấy kiến ​​trúc thư mục sau:

Tệp pom.xml phải chứa mã sau:

Để xác minh rằng mọi thứ hoạt động chính xác, bạn sẽ có thể tạo và chạy một "Xin chào MongoDB đơn giản!" chương trình. Trong src/main/java/com/mongodb/quickstart, hãy tạo tệp

MongoClient client = MongoClients.create("<>");
0:src/main/java/com/mongodb/quickstart, create the
MongoClient client = MongoClients.create("<>");
0 file:

Sau đó biên dịch và thực thi nó với IDE của bạn hoặc sử dụng dòng lệnh trong thư mục gốc (trong đó thư mục

MongoClient client = MongoClients.create("<>");
1):
MongoClient client = MongoClients.create("<>");
1 folder is):

Kết quả sẽ trông như thế này:

Lưu ý: Nếu bạn thấy một số cảnh báo về quyền truy cập phản xạ bất hợp pháp từ

MongoClient client = MongoClients.create("<>");
2, thì việc bỏ qua chúng là an toàn. Guice được Maven sử dụng và cần cập nhật. Bạn có thể đọc thêm về nó trong vấn đề GitHub này. Những cảnh báo này sẽ biến mất trong một bản phát hành trong tương lai của Guice và Maven.
MongoClient client = MongoClients.create("<>");
2, it's safe to ignore them. Guice is used by Maven and needs an update. You can read more about it in this GitHub issue. These warnings will disappear in a future release of Guice and Maven.

Kết nối với Java

Bây giờ, dự án Maven của chúng tôi hoạt động và chúng tôi đã giải quyết các phụ thuộc của mình, chúng tôi có thể bắt đầu sử dụng Atlas MongoDB với Java.

Nếu bạn đã nhập bộ dữ liệu mẫu như được đề xuất trong bài đăng blog Atlas bắt đầu nhanh, thì với mã Java mà chúng tôi sắp tạo, bạn sẽ có thể thấy một danh sách các cơ sở dữ liệu trong bộ dữ liệu mẫu.sample dataset as suggested in the Quick Start Atlas blog post, then with the Java code we are about to create, you will be able to see a list of the databases in the sample dataset.

Bước đầu tiên là khởi tạo

MongoClient client = MongoClients.create("<>");
3 bằng cách chuyển chuỗi kết nối Atlas MongoDB vào phương thức tĩnh
MongoClient client = MongoClients.create("<>");
4. Đ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. Sau đó, chúng ta có thể truy xuất danh sách các cơ sở dữ liệu trên cụm này và in chúng ra để kiểm tra kết nối với MongoDB.
MongoClient client = MongoClients.create("<>");
3 by passing a MongoDB Atlas connection string into the
MongoClient client = MongoClients.create("<>");
4 static method. This will establish a connection to MongoDB Atlas using the connection string. Then we can retrieve the list of databases on this cluster and print them out to test the connection with MongoDB.

Trong

MongoClient client = MongoClients.create("<>");
5, hãy tạo tệp
MongoClient client = MongoClients.create("<>");
6:
MongoClient client = MongoClients.create("<>");
5, create the
MongoClient client = MongoClients.create("<>");
6 file:

Như bạn có thể thấy, chuỗi kết nối MongoDB được lấy từ các thuộc tính hệ thống, vì vậy chúng tôi cần thiết lập điều này. Khi bạn đã truy xuất chuỗi kết nối Atlas MongoDB của mình, bạn có thể thêm thuộc tính hệ thống

MongoClient client = MongoClients.create("<>");
7 vào IDE của bạn. Đây là cấu hình của tôi với IntelliJ chẳng hạn.System Properties, so we need to set this up. Once you have retrieved your MongoDB Atlas connection string, you can add the
MongoClient client = MongoClients.create("<>");
7 system property into your IDE. Here is my configuration with IntelliJ for example.

Hướng dẫn can i use java with mongodb? - tôi có thể sử dụng java với mongodb không?
Cấu hình Intellij

Hoặc nếu bạn thích sử dụng maven trong dòng lệnh, đây là dòng lệnh tương đương bạn có thể chạy trong thư mục gốc:

Lưu ý: Đừng quên các trích dẫn kép xung quanh URI MongoDB để tránh những bất ngờ từ vỏ của bạn.

Đầu ra tiêu chuẩn sẽ trông như thế này:

Chèn hoạt động

Được thiết lập

Trong phần Kết nối với Java, chúng tôi đã tạo các lớp

MongoClient client = MongoClients.create("<>");
8 và
MongoClient client = MongoClients.create("<>");
9. Bây giờ chúng tôi sẽ làm việc trên lớp
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0.
MongoClient client = MongoClients.create("<>");
8 and
MongoClient client = MongoClients.create("<>");
9. Now we will work on the
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 class.

Nếu bạn không thiết lập cụm miễn phí của mình trên MongoDB Atlas, thì bây giờ là thời điểm tuyệt vời để làm điều đó. Nhận các hướng dẫn để tạo cụm của bạn.creating your cluster.

Kiểm tra mô hình thu thập và dữ liệu

Trong bộ dữ liệu mẫu, bạn có thể tìm thấy cơ sở dữ liệu

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
1, chứa bộ sưu tập
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
2. Mỗi tài liệu trong bộ sưu tập này thể hiện điểm số của một học sinh cho một lớp cụ thể.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
1, which contains a collection
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
2. Each document in this collection represents a student's grades for a particular class.

Đây là đại diện JSON của một tài liệu trong vỏ Mongo.mongo shell.

Như bạn có thể thấy, MongoDB lưu trữ các tài liệu BSON và cho mỗi cặp giá trị khóa, BSON chứa khóa và giá trị cùng với loại của nó. Đây là cách MongoDB biết rằng

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 thực sự là một đôi và không phải là một số nguyên, không rõ ràng trong biểu diễn vỏ Mongo của tài liệu này.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 is actually a double and not an integer, which is not explicit in the mongo shell representation of this document.

Chúng tôi có 10.000 sinh viên (

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4 từ 0 đến 9999) đã có trong bộ sưu tập này và mỗi người trong số họ đã tham gia 10 lớp khác nhau, trong đó có thêm tới 100.000 tài liệu trong bộ sưu tập này. Giả sử một sinh viên mới (
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4 10.000) vừa đến trường đại học này và nhận được một loạt các lớp (ngẫu nhiên) trong lớp đầu tiên của mình. Hãy chèn tài liệu sinh viên mới này bằng Java và Trình điều khiển Java MongoDB.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4 from 0 to 9999) already in this collection and each of them took 10 different classes, which adds up to 100,000 documents in this collection. Let's say a new student (
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4 10,000) just arrived in this university and received a bunch of (random) grades in his first class. Let's insert this new student document using Java and the MongoDB Java driver.

Trong trường đại học này,

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 thay đổi từ 0 đến 500, vì vậy tôi có thể sử dụng bất kỳ giá trị ngẫu nhiên nào từ 0 đến 500.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 varies from 0 to 500, so I can use any random value between 0 and 500.

Chọn cơ sở dữ liệu và bộ sưu tập

Đầu tiên, chúng tôi cần thiết lập lớp

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 của mình và truy cập vào bộ sưu tập
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
8 này.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 class and access this
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
8 collection.

Tạo tài liệu BSON

Thứ hai, chúng ta cần đại diện cho học sinh mới này trong Java bằng lớp

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
9.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
9 class.

Như bạn có thể thấy, chúng tôi đã sao chép cùng một mô hình dữ liệu từ các tài liệu hiện có trong bộ sưu tập này khi chúng tôi đảm bảo rằng

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4,
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 và java compile 'org.mongodb:mongodb-driver-sync:4.0.5'2 đều tăng gấp đôi.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4,
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3, and java compile 'org.mongodb:mongodb-driver-sync:4.0.5'2 are all doubles.

Ngoài ra, trình điều khiển Java sẽ tạo ra trường java compile 'org.mongodb:mongodb-driver-sync:4.0.5'3 với một ObjectID cho chúng tôi nếu chúng tôi không tạo rõ ràng ở đây, nhưng đó là cách thực hành tốt để tự thiết lập java compile 'org.mongodb:mongodb-driver-sync:4.0.5'3. Điều này sẽ không thay đổi cuộc sống của chúng tôi ngay bây giờ, nhưng nó có ý nghĩa hơn khi chúng tôi trực tiếp thao tác với Pojos và chúng tôi muốn tạo API REST sạch. Tôi đang làm điều này trong bài viết bản đồ của mình.java compile 'org.mongodb:mongodb-driver-sync:4.0.5'3 field with an ObjectId for us if we didn't explicitly create one here, but it's good practice to set the java compile 'org.mongodb:mongodb-driver-sync:4.0.5'3 ourselves. This won't change our life right now, but it makes more sense when we directly manipulate POJOs and we want to create a clean REST API. I'm doing this in my mapping POJOs post.

Cũng lưu ý rằng chúng tôi đang chèn một tài liệu vào một bộ sưu tập và cơ sở dữ liệu hiện có, nhưng nếu những điều này đã tồn tại, MongoDB sẽ tự động tạo chúng ngay lần đầu tiên bạn đi chèn một tài liệu vào bộ sưu tập.

Chèn tài liệu

Cuối cùng, chúng ta có thể chèn tài liệu này.

Mã cuối cùng để chèn một tài liệu

Dưới đây là lớp

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 cuối cùng để chèn một tài liệu vào MongoDB với tất cả các chi tiết tôi đã đề cập ở trên.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 class to insert one document in MongoDB with all the details I mentioned above.

Bạn có thể thực hiện lớp này với dòng lệnh maven sau trong thư mục gốc hoặc sử dụng IDE của bạn (xem ở trên để biết thêm chi tiết). Đừng quên các trích dẫn kép xung quanh URI MongoDB để tránh những bất ngờ.

Lưu ý rằng thứ tự của các trường khác với tài liệu ban đầu với java compile 'org.mongodb:mongodb-driver-sync:4.0.5'6.java compile 'org.mongodb:mongodb-driver-sync:4.0.5'6.

Chúng tôi có thể nhận được chính xác cùng một đơn đặt hàng nếu chúng tôi muốn bằng cách tạo tài liệu như thế này.

Nhưng nếu bạn làm mọi thứ một cách chính xác, điều này không có bất kỳ tác động nào đến mã và logic của bạn vì các trường trong tài liệu JSON không được đặt hàng.

Một đối tượng là một tập hợp các cặp tên/giá trị không được đặt hàng.

Chèn nhiều tài liệu

Bây giờ chúng ta đã biết cách tạo một tài liệu, hãy tìm hiểu cách chèn nhiều tài liệu.

Tất nhiên, chúng tôi chỉ có thể bọc hoạt động java compile 'org.mongodb:mongodb-driver-sync:4.0.5'7 trước đó thành vòng lặp java compile 'org.mongodb:mongodb-driver-sync:4.0.5'8. Thật vậy, nếu chúng ta lặp 10 lần trên phương thức này, chúng ta sẽ gửi 10 lệnh chèn vào cụm và mong đợi 10 xác nhận chèn. Như bạn có thể tưởng tượng, điều này sẽ không hiệu quả lắm vì nó sẽ tạo ra nhiều thông tin liên lạc TCP hơn mức cần thiết.java compile 'org.mongodb:mongodb-driver-sync:4.0.5'7 operation into a java compile 'org.mongodb:mongodb-driver-sync:4.0.5'8 loop. Indeed, if we loop 10 times on this method, we would send 10 insert commands to the cluster and expect 10 insert acknowledgments. As you can imagine, this would not be very efficient as it would generate a lot more TCP communications than necessary.

Thay vào đó, chúng tôi muốn bọc 10 tài liệu của chúng tôi và gửi chúng trong một cuộc gọi đến cụm và chúng tôi chỉ muốn nhận được một xác nhận chèn cho toàn bộ danh sách.

Hãy tái cấu trúc mã. Đầu tiên, chúng ta hãy biến Trình tạo ngẫu nhiên thành trường java compile 'org.mongodb:mongodb-driver-sync:4.0.5'9.java compile 'org.mongodb:mongodb-driver-sync:4.0.5'9 field.

Hãy làm một phương pháp nhà máy lớp.

Và bây giờ chúng ta có thể sử dụng điều này để chèn 10 tài liệu cùng một lúc.

Như bạn có thể thấy, chúng tôi hiện đang gói các tài liệu lớp của chúng tôi vào một danh sách và chúng tôi đang gửi danh sách này trong một cuộc gọi duy nhất với phương thức java org.mongodb mongodb-driver-sync 4.0.5 0.java org.mongodb mongodb-driver-sync 4.0.5 0 method.

Theo mặc định, phương thức java org.mongodb mongodb-driver-sync 4.0.5 0 sẽ chèn các tài liệu theo thứ tự và dừng nếu xảy ra lỗi trong quá trình. Ví dụ: nếu bạn cố gắng chèn một tài liệu mới có cùng java compile 'org.mongodb:mongodb-driver-sync:4.0.5'3 dưới dạng tài liệu hiện có, bạn sẽ nhận được java org.mongodb mongodb-driver-sync 4.0.5 3.java org.mongodb mongodb-driver-sync 4.0.5 0 method will insert the documents in order and stop if an error occurs during the process. For example, if you try to insert a new document with the same java compile 'org.mongodb:mongodb-driver-sync:4.0.5'3 as an existing document, you would get a java org.mongodb mongodb-driver-sync 4.0.5 3.

Do đó, với java org.mongodb mongodb-driver-sync 4.0.5 0 được đặt hàng, các tài liệu cuối cùng của danh sách sẽ không được chèn và quá trình chèn sẽ dừng và trả về ngoại lệ thích hợp ngay khi xảy ra lỗi.java org.mongodb mongodb-driver-sync 4.0.5 0, the last documents of the list would not be inserted and the insertion process would stop and return the appropriate exception as soon as the error occurs.

Như bạn có thể thấy ở đây, đây không phải là hành vi chúng tôi muốn bởi vì tất cả các lớp hoàn toàn độc lập từ người này sang cái khác. Vì vậy, nếu một trong số họ thất bại, chúng tôi muốn xử lý tất cả các lớp và sau đó quay trở lại một ngoại lệ cho những người thất bại.

Đây là lý do tại sao bạn thấy tham số thứ hai java org.mongodb mongodb-driver-sync 4.0.5 5 là đúng theo mặc định.java org.mongodb mongodb-driver-sync 4.0.5 5 which is true by default.

Mã cuối cùng để chèn nhiều tài liệu

Hãy tái cấu trúc mã một chút và đây là lớp

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 cuối cùng.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0 class.

Một lời nhắc nhở, mọi hoạt động ghi (tạo, thay thế, cập nhật, xóa) được thực hiện trên một tài liệu là axit trong MongoDB. Điều đó có nghĩa là java org.mongodb mongodb-driver-sync 4.0.5 0 không phải là axit theo mặc định, nhưng, tin tốt, vì MongoDB 4.0, chúng ta có thể kết thúc cuộc gọi này trong một giao dịch axit đa tài liệu để làm cho nó hoàn toàn axit. Tôi giải thích điều này chi tiết hơn trong blog của tôi về các giao dịch axit đa tài liệu.single document is ACID in MongoDB. Which means java org.mongodb mongodb-driver-sync 4.0.5 0 is not ACID by default but, good news, since MongoDB 4.0, we can wrap this call in a multi-document ACID transaction to make it fully ACID. I explain this in more detail in my blog about multi-document ACID transactions.

Đọc tài liệu

Tạo dữ liệu

Chúng tôi đã tạo ra lớp

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0. Bây giờ chúng tôi sẽ làm việc trong lớp java org.mongodb mongodb-driver-sync 4.0.5 9.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
0. Now we will work in the java org.mongodb mongodb-driver-sync 4.0.5 9 class.

Chúng tôi đã viết 11 lớp mới, một cho học sinh có java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();0 và 10 cho học sinh với java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();1 trong bộ sưu tập

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
8.java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();0 and 10 for the student with java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();1 in the
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
8 collection.

Một lời nhắc nhở, đây là các lớp của java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();0.java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();0.

Chúng tôi cũng đã thảo luận về các loại BSON và chúng tôi lưu ý rằng

MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4 và
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 là nhân đôi.
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
4 and
MongoDatabase database = client.getDatabase(“my_database”);
MongoCollection toys = database.getCollection(“toys”);
3 are doubles.

MongoDB coi một số loại tương đương với mục đích so sánh. Ví dụ, các loại số trải qua chuyển đổi trước khi so sánh.

Vì vậy, đừng ngạc nhiên nếu tôi lọc với số nguyên và khớp một tài liệu có chứa số kép chẳng hạn. Nếu bạn muốn lọc tài liệu theo các loại giá trị, bạn có thể sử dụng toán tử $ type.$type operator.

Đọc một tài liệu cụ thể

Hãy đọc tài liệu ở trên. Để đạt được điều này, chúng tôi sẽ sử dụng phương pháp java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();6, chuyển nó một bộ lọc để giúp xác định tài liệu chúng tôi muốn tìm.java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();6, passing it a filter to help identify the document we want to find.

Vui lòng tạo lớp java org.mongodb mongodb-driver-sync 4.0.5 9 trong gói java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();8 với mã này:java org.mongodb mongodb-driver-sync 4.0.5 9 in the java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();8 package with this code:

Ngoài ra, hãy chắc chắn rằng bạn đã thiết lập

MongoClient client = MongoClients.create("<>");
7 của mình trong các thuộc tính hệ thống của bạn bằng IDE của bạn nếu bạn muốn chạy mã này trong IDE yêu thích của bạn.
MongoClient client = MongoClients.create("<>");
7 in your system properties using your IDE if you want to run this code in your favorite IDE.

Ngoài ra, bạn có thể sử dụng dòng lệnh Maven này trong dự án gốc của mình (nơi thư mục

MongoClient client = MongoClients.create("<>");
1):
MongoClient client = MongoClients.create("<>");
1 folder is):

Đầu ra tiêu chuẩn phải là:

Người lái xe MongoDB đi kèm với một vài người trợ giúp để giảm bớt việc viết các truy vấn này. Đây là một truy vấn tương đương sử dụng phương thức java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());1.java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());1 method.

Tất nhiên, tôi đã sử dụng nhập tĩnh để làm cho mã nhỏ gọn và dễ đọc nhất có thể.

Đọc một loạt các tài liệu

Trong ví dụ trước, lợi ích của những người trợ giúp này là không rõ ràng, nhưng hãy để tôi chỉ cho bạn một ví dụ khác trong đó tôi đang tìm kiếm tất cả các lớp với Student_id lớn hơn hoặc bằng 10.000.student_id greater than or equal to 10,000.

Như bạn có thể thấy, tôi đang sử dụng toán tử java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());2 để viết truy vấn này. Bạn có thể tìm hiểu về tất cả các toán tử truy vấn khác nhau trong tài liệu MongoDB.java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());2 operator to write this query. You can learn about all the different query operators in the MongoDB documentation.

Trình lặp

Phương thức java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();6 trả về một đối tượng thực hiện giao diện java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());4, cuối cùng mở rộng giao diện java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());5 để chúng tôi có thể sử dụng trình lặp để đi qua danh sách các tài liệu chúng tôi đang nhận từ MongoDB:java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();6 method returns an object that implements the interface java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());4, which ultimately extends the java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());5 interface so we can use an iterator to go through the list of documents we are receiving from MongoDB:

Danh sách

Danh sách thường dễ thao tác hơn so với trình lặp, vì vậy chúng tôi cũng có thể làm điều này để truy xuất trực tiếp một java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());6:java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());6:

Người tiêu dùng

Chúng tôi cũng có thể sử dụng java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());7 là giao diện chức năng:java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());7 which is a functional interface:

Con trỏ, sắp xếp, bỏ qua, giới hạn và dự đoán

Như chúng ta đã thấy ở trên với ví dụ java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());8, MongoDB tận dụng con trỏ để lặp lại thông qua bộ kết quả của bạn.java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());8 example, MongoDB leverages cursors to iterate through your result set.

Nếu bạn đã quen thuộc với các con trỏ trong vỏ Mongo, bạn sẽ biết rằng các phép biến đổi có thể được áp dụng cho nó. Một con trỏ có thể được sắp xếp và các tài liệu mà nó chứa có thể được chuyển đổi bằng cách sử dụng một hình chiếu. Ngoài ra, một khi con trỏ được sắp xếp, chúng ta có thể chọn bỏ qua một vài tài liệu và giới hạn số lượng tài liệu trong đầu ra. Điều này rất hữu ích để thực hiện phân trang trong frontend của bạn chẳng hạn.mongo shell, you know that transformations can be applied to it. A cursor can be sorted and the documents it contains can be transformed using a projection. Also, once the cursor is sorted, we can choose to skip a few documents and limit the number of documents in the output. This is very useful to implement pagination in your frontend for example.

Hãy kết hợp mọi thứ chúng ta đã học trong một truy vấn:

Đây là đầu ra chúng tôi nhận được:

Hãy nhớ rằng các tài liệu được trả về theo thứ tự tự nhiên, vì vậy nếu bạn muốn đặt hàng đầu ra của mình, bạn cần sắp xếp con trỏ của mình để đảm bảo không có sự ngẫu nhiên trong thuật toán của bạn.natural order, so if you want your output ordered, you need to sort your cursors to make sure there is no randomness in your algorithm.

Chỉ mục

Nếu bạn muốn thực hiện các truy vấn này (có hoặc không sắp xếp) hiệu quả, bạn sẽ IndelIndexes!you needindexes!

Để làm cho truy vấn cuối cùng của tôi hiệu quả, tôi nên tạo chỉ mục này:

Khi tôi chạy giải thích về truy vấn này, đây là kế hoạch chiến thắng tôi nhận được:explain on this query, this is the winning plan I get:

Với chỉ mục này, chúng ta có thể thấy rằng chúng ta không có giai đoạn sắp xếp, vì vậy chúng ta không thực hiện một loại trong bộ nhớ vì các tài liệu đã được sắp xếp "miễn phí" và được trả về theo thứ tự của chỉ mục.SORT stage, so we are not doing a sort in memory as the documents are already sorted "for free" and returned in the order of the index.

Ngoài ra, chúng ta có thể thấy rằng chúng ta không có bất kỳ giai đoạn tìm nạp nào, vì vậy đây là một truy vấn được bảo hiểm, loại truy vấn hiệu quả nhất mà bạn có thể chạy trong MongoDB. Thật vậy, tất cả các thông tin chúng tôi đang trả lại ở cuối đã có trong chỉ mục, vì vậy bản thân chỉ mục chứa mọi thứ chúng tôi cần để trả lời truy vấn này.FETCH stage, so this is a covered query, the most efficient type of query you can run in MongoDB. Indeed, all the information we are returning at the end is already in the index, so the index itself contains everything we need to answer this query.

Mã cuối cùng để đọc tài liệu

Cập nhật tài liệu

Cập nhật một tài liệu

Hãy chỉnh sửa tài liệu với java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());9. Để đạt được điều này, chúng tôi sẽ sử dụng phương pháp pom.xml0.java Document yoyo = toys.find(new Document(“name”, “yoyo”)).first(); System.out.println(yoyo.toJson());9. To achieve this, we will use the method pom.xml0.

Vui lòng tạo lớp pom.xml1 trong gói java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();8 với mã này:pom.xml1 in the java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();8 package with this code:

Như bạn có thể thấy trong ví dụ này, phương thức pom.xml0 có hai tham số:pom.xml0 takes two parameters:

  • Đầu tiên là bộ lọc xác định tài liệu chúng tôi muốn cập nhật.

  • Cái thứ hai là hoạt động cập nhật. Ở đây, chúng tôi đang thiết lập một trường mới pom.xml4 với giá trị pom.xml5.pom.xml4 with the value pom.xml5.

Để chạy chương trình này, hãy đảm bảo bạn thiết lập

MongoClient client = MongoClients.create("<>");
7 trong các thuộc tính hệ thống của mình bằng IDE của bạn nếu bạn muốn chạy mã này trong IDE yêu thích của bạn (xem ở trên để biết thêm chi tiết).
MongoClient client = MongoClients.create("<>");
7 in your system properties using your IDE if you want to run this code in your favorite IDE (see above for more details).

Ngoài ra, bạn có thể sử dụng dòng lệnh Maven này trong dự án gốc của mình (nơi thư mục

MongoClient client = MongoClients.create("<>");
1):
MongoClient client = MongoClients.create("<>");
1 folder is):

Đầu ra tiêu chuẩn sẽ trông như thế này:

Upsert một tài liệu

UPSERT là sự pha trộn giữa hoạt động chèn và bản cập nhật. Nó xảy ra khi bạn muốn cập nhật một tài liệu, giả sử nó tồn tại, nhưng nó thực sự chưa tồn tại trong cơ sở dữ liệu của bạn.

Trong MongoDB, bạn có thể đặt một tùy chọn để tạo tài liệu này một cách nhanh chóng và tiếp tục với hoạt động cập nhật của bạn. Đây là một hoạt động UPSERT.

Trong ví dụ này, tôi muốn thêm một bình luận vào các lớp của học sinh 10002 của tôi cho lớp 10 nhưng tài liệu này chưa tồn tại.

Như bạn có thể thấy, tôi đang sử dụng tham số thứ ba của hoạt động cập nhật để đặt tùy chọn UPSERT thành TRUE.

Tôi cũng đang sử dụng phương thức tĩnh pom.xml8 để đẩy một giá trị mới trong mảng pom.xml9 chưa tồn tại, vì vậy tôi đang tạo một mảng một yếu tố trong trường hợp này.pom.xml8 to push a new value in my array pom.xml9 which does not exist yet, so I'm creating an array of one element in this case.

Đây là đầu ra chúng tôi nhận được:

Cập nhật nhiều tài liệu

Giống như cách tôi có thể cập nhật một tài liệu với logback.xml0, tôi có thể cập nhật nhiều tài liệu với logback.xml1.logback.xml0, I can update multiple documents with logback.xml1.

Trong ví dụ này, tôi đang sử dụng cùng một logback.xml2 như trước đó, vì vậy tôi đang tạo một mảng một phần tử mới pom.xml9 trong 10 tài liệu này.logback.xml2 as earlier, so I'm creating a new one element array pom.xml9 in these 10 documents.

Phương pháp FindOneandupdate

Cuối cùng, chúng tôi có một phương pháp rất hữu ích cuối cùng có sẵn trong trình điều khiển Java MongoDB: logback.xml4.logback.xml4.

Trong hầu hết các ứng dụng web, khi người dùng cập nhật một cái gì đó, họ muốn thấy bản cập nhật này được phản ánh trên trang web của họ. Nếu không có phương thức logback.xml4, bạn sẽ phải chạy một thao tác cập nhật và sau đó tìm nạp tài liệu bằng một thao tác tìm để đảm bảo bạn đang in phiên bản mới nhất của đối tượng này trong trang web.logback.xml4 method, you would have to run an update operation and then fetch the document with a find operation to make sure you are printing the latest version of this object in the web page.

Phương pháp logback.xml4 cho phép bạn kết hợp hai hoạt động này trong một.logback.xml4 method allows you to combine these two operations in one.

Như bạn có thể thấy trong ví dụ này, bạn có thể chọn phiên bản nào của tài liệu bạn muốn trả về bằng tùy chọn thích hợp.

Tôi cũng đã sử dụng ví dụ này để cho bạn thấy một loạt các nhà khai thác cập nhật:

  • logback.xml7 sẽ tăng giá trị. will increment a value.

  • logback.xml8 sẽ đổi tên một trường. will rename a field.

  • logback.xml9 sẽ nhân giá trị với số đã cho. will multiply the value by the given number.

  • src/main/java/com/mongodb/quickstart0 tương tự như đẩy nhưng sẽ chỉ đẩy giá trị trong mảng nếu giá trị chưa tồn tại. is similar to push but will only push the value in the array if the value doesn't exist already.

Có một vài nhà khai thác cập nhật khác. Bạn có thể tham khảo toàn bộ danh sách trong tài liệu của chúng tôi.documentation.

Mã cuối cùng để cập nhật

Xóa tài liệu

Xóa một tài liệu

Hãy xóa tài liệu ở trên. Để đạt được điều này, chúng tôi sẽ sử dụng phương pháp src/main/java/com/mongodb/quickstart1.src/main/java/com/mongodb/quickstart1.

Vui lòng tạo lớp src/main/java/com/mongodb/quickstart2 trong gói java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();8 với mã này:src/main/java/com/mongodb/quickstart2 in the java Document toy = new Document(“name”, “yoyo”) .append(“ages”, new Document(“min”, 5)); ObjectId id = toys.insertOne(toy).getInsertedId().asObjectId().getValue();8 package with this code:

Như bạn có thể thấy trong ví dụ này, phương thức src/main/java/com/mongodb/quickstart1 chỉ lấy một tham số: một bộ lọc, giống như thao tác src/main/java/com/mongodb/quickstart5.src/main/java/com/mongodb/quickstart1 only takes one parameter: a filter, just like the src/main/java/com/mongodb/quickstart5 operation.

Để chạy chương trình này, hãy đảm bảo bạn thiết lập

MongoClient client = MongoClients.create("<>");
7 trong các thuộc tính hệ thống của mình bằng IDE của bạn nếu bạn muốn chạy mã này trong IDE yêu thích của bạn (xem ở trên để biết thêm chi tiết).
MongoClient client = MongoClients.create("<>");
7 in your system properties using your IDE if you want to run this code in your favorite IDE (see above for more details).

Ngoài ra, bạn có thể sử dụng dòng lệnh Maven này trong dự án gốc của mình (nơi thư mục

MongoClient client = MongoClients.create("<>");
1):
MongoClient client = MongoClients.create("<>");
1 folder is):

Đầu ra tiêu chuẩn sẽ trông như thế này:

FindOneAndDelete()

Bạn có gắn kết cảm xúc với tài liệu của bạn và muốn có cơ hội nhìn thấy nó lần cuối trước khi quá muộn? Chúng tôi có những gì bạn cần.

Phương pháp src/main/java/com/mongodb/quickstart8 cho phép bạn truy xuất tài liệu và xóa nó trong một hoạt động nguyên tử duy nhất.src/main/java/com/mongodb/quickstart8 allows you to retrieve a document and delete it in a single atomic operation.

Đây là đầu ra chúng tôi nhận được:

Xóa nhiều tài liệu

Lần này chúng tôi sẽ sử dụng src/main/java/com/mongodb/quickstart9 thay vì

MongoClient client = MongoClients.create("<>");
00 và chúng tôi sẽ sử dụng một bộ lọc khác để phù hợp với nhiều tài liệu hơn.src/main/java/com/mongodb/quickstart9 instead of
MongoClient client = MongoClients.create("<>");
00 and we will use a different filter to match more documents.

Đây là đầu ra chúng tôi nhận được:

Xóa một bộ sưu tập

Việc xóa tất cả các tài liệu khỏi một bộ sưu tập sẽ không xóa bản thân bộ sưu tập vì một bộ sưu tập cũng chứa siêu dữ liệu như định nghĩa chỉ mục hoặc phân phối chunk nếu bộ sưu tập của bạn bị chia cắt chẳng hạn.

Nếu bạn muốn loại bỏ toàn bộ bộ sưu tập và tất cả các siêu dữ liệu được liên kết với nó, thì bạn cần sử dụng phương thức

MongoClient client = MongoClients.create("<>");
01.and all the metadata associated with it, then you need to use the
MongoClient client = MongoClients.create("<>");
01 method.

Mã cuối cùng để xóa các hoạt động

Gói lên

Với bài đăng trên blog này, chúng tôi đã đề cập đến tất cả các hoạt động cơ bản, chẳng hạn như tạo và đọc và cũng đã thấy cách chúng tôi có thể dễ dàng sử dụng các chức năng mạnh mẽ có sẵn trong trình điều khiển Java cho MongoDB. Bạn có thể tìm thấy các liên kết đến các bài đăng trên blog khác của loạt bài này ngay bên dưới.

Nếu bạn muốn tìm hiểu thêm và sâu sắc về kiến ​​thức của mình nhanh hơn, tôi khuyên bạn nên xem M220J: MongoDB cho đào tạo nhà phát triển Java có sẵn miễn phí tại Đại học MongoDB.MongoDB University.

Làm thế nào để MongoDB kết nối với mã Java?

Để kết nối: Client client = Mongoclients.create ("");Để kết nối với MongoDB trên phiên bản cục bộ và cổng mặc định của bạn, bạn chỉ có thể bỏ qua phần URI của các bên trên hoặc sử dụng URI như 'MongoDB: // LocalHost: 27017'.MongoClient client = MongoClients. create("<>"); To connect to MongoDB on your local instance and default port, you can just omit the URI part of the above, or use a URI like 'mongodb://localhost:27017'.

Bạn có thể sử dụng JDBC với MongoDB không?

Sử dụng kết nối JDBC MongoDB, việc đặt truy vấn với cơ sở dữ liệu sẽ dễ dàng hơn, giới thiệu các bản cập nhật cho cơ sở dữ liệu và gọi các quy trình được lưu trữ., it's easier to place a query with the database, introduce updates to the database, and call upon stored processes.

Chỉ là Java sợi MongoDB?

Tất cả các phương thức kết nối đều an toàn và xử lý kết nối có thể được chia sẻ giữa các luồng., and Connection handles can be shared between threads.

Làm thế nào để MongoDB lưu trữ ngày ở Java?

Javamadesoeasy.com (JMSE)..
1.1) Chèn ngày bằng MongoDB bằng ngày mới ().
1.2) Chèn ngày trong MongoDB bằng isodate ().
1.3) Chèn ngày tùy chỉnh/người dùng được xác định trong MongoDB bằng ngày mới ().
1.4) Chèn ngày tùy chỉnh/người dùng được xác định trong MongoDB bằng isodate ().