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. Show 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à MongoDBGiả 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: MavenĐối với Maven, thêm các mục sau:
Kết nối:
Để 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!
Hãy thử viết một số dữ liệu: Lấy lại tài liệu của bạn thật đơn giản: Những gì bạn cần biếtNế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 JavaVớ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ậtNgày 25 tháng 3 năm 2021
Ngày 21 tháng 10 năm 2020
Giới thiệuTrong 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:
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ữ GitNế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. Thiết lập thủ côngBạ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 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 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ừ 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 JavaBâ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 3 by passing a MongoDB Atlas connection string into the 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 5, create the 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 7 system property into your IDE. Here is my configuration with IntelliJ for example.Cấu hình IntellijHoặ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ậpTrong phần Kết nối với Java, chúng tôi đã tạo các lớp 8 and 9. Now we will work on the 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ệuTrong bộ dữ liệu mẫu, bạn có thể tìm thấy cơ sở dữ liệu 1,
which contains a collection 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 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 ( 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 ( 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, 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 0 class and access this 8
collection.Tạo tài liệu BSONThứ hai, chúng ta cần đại diện cho học sinh mới này trong Java bằng lớp 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 4, 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 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ệuCuố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ệuDưới đây là lớp 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 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ệuBâ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 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 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 Theo mặc định, phương thức Do đó, với 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 Mã cuối cùng để chèn nhiều tài liệuHãy tái cấu trúc mã một chút và đây là lớp 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à Đọc tài liệuTạo dữ liệuChúng tôi đã tạo ra lớp 0. Now we will work in the java
9 class.Chúng tôi đã viết 11 lớp mới, một cho học sinh có 8 collection.Một lời nhắc nhở, đây là các lớp của 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 4 and 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 Vui lòng tạo lớp Ngoài ra, hãy chắc chắn rằng bạn đã thiết lập 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 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 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ệuTrong 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ử Trình lặpPhương thức Danh sáchDanh 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 Người tiêu dùngChúng tôi cũng có thể sử dụng
Con trỏ, sắp xếp, bỏ qua, giới hạn và dự đoánNhư chúng ta đã thấy ở trên với ví dụ 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ụcNế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ệuCập nhật tài liệuCập nhật một tài liệuHãy chỉnh sửa tài liệu với Vui lòng tạo lớp Như bạn có thể thấy trong ví dụ này, phương thức
Để chạy chương trình này, hãy đảm bảo bạn thiết lập 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 1 folder is):Đầu ra tiêu chuẩn sẽ trông như thế này: Upsert một tài liệuUPSERT 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 Đây là đầu ra chúng tôi nhận được: Cập nhật nhiều tài liệuGiống như cách tôi có thể cập nhật một tài liệu với Trong ví dụ này, tôi đang sử dụng cùng một Phương pháp FindOneandupdateCuố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: 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 Phương pháp 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:
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ậtXóa tài liệuXóa một tài liệuHã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 Vui lòng tạo lớp Như bạn có thể thấy trong ví dụ này, phương thức Để chạy chương trình này, hãy đảm bảo bạn thiết lập 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 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
Đây là đầu ra chúng tôi nhận được: Xóa nhiều tài liệuLần này chúng tôi sẽ sử dụng 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ậpViệ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 01
method.Mã cuối cùng để xóa các hoạt độngGói lênVớ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("<
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 (). |