Hướng dẫn mongodb driver-sync example - ví dụ về trình điều khiển-đồng bộ mongodb

DOCS HOME → SYNC JAVAJava Sync

Trên trang này

  • Giới thiệu
  • Thiết lập dự án của bạn
  • Cài đặt Bộ phát triển Java [JDK]
  • Tạo dự án
  • Thêm MongoDB làm phụ thuộc
  • Tạo một cụm MongoDB
  • Thiết lập một cụm cấp miễn phí ở Atlas
  • Truy vấn cụm MongoDB của bạn từ ứng dụng của bạn
  • Làm việc với Pojos [tùy chọn]
  • Bước tiếp theo

Hướng dẫn này chỉ cho bạn cách tạo một ứng dụng sử dụng trình điều khiển Java để kết nối với cụm Atlas MongoDB. Nếu bạn thích kết nối với MongoDB bằng cách sử dụng một trình điều khiển hoặc ngôn ngữ lập trình khác, hãy xem danh sách trình điều khiển MongoDB chính thức của chúng tôi.Java driver to connect to a MongoDB Atlas cluster. If you prefer to connect to MongoDB using a different driver or programming language, see our list of official MongoDB drivers.

Trình điều khiển Java cho phép bạn kết nối và giao tiếp với các cụm MongoDB từ ứng dụng Java.

MongoDB Atlas là một dịch vụ cơ sở dữ liệu đám mây được quản lý đầy đủ lưu trữ dữ liệu của bạn trên các cụm MongoDB. Trong hướng dẫn này, chúng tôi chỉ cho bạn cách bắt đầu với cụm miễn phí [không cần thẻ tín dụng] của riêng bạn].

Tham khảo các bước sau để kết nối ứng dụng Java của bạn với cụm Atlas MongoDB.

Đảm bảo rằng hệ thống của bạn đã cài đặt JDK 8 trở lên. Để biết thêm thông tin về cách kiểm tra phiên bản Java của bạn và cài đặt JDK, xem tổng quan về Oracle về tài liệu cài đặt JDK.Oracle Overview of JDK Installation documentation.

Hướng dẫn này chỉ cho bạn cách thêm các phụ thuộc trình điều khiển Java MongoDB bằng Maven hoặc Gradle. Chúng tôi khuyên bạn nên sử dụng môi trường phát triển tích hợp [IDE] như IntelliJ Idea hoặc Eclipse IDE giúp việc định cấu hình Maven hoặc Gradle để xây dựng và điều hành dự án của bạn thuận tiện hơn.

Nếu bạn không sử dụng IDE, hãy xem Building Maven hoặc tạo các bản dựng Gradle mới để biết thêm thông tin về cách thiết lập dự án của bạn.Building Maven or Creating New Gradle Builds for more information on how to set up your project.

Nếu bạn đang sử dụng Maven, hãy thêm phần sau vào danh sách phụ thuộc pom.xml của bạn:Maven, add the following to your pom.xml dependencies list:

org.mongodb
mongodb-driver-sync
4.7.2

Nếu bạn đang sử dụng Gradle, hãy thêm phần sau vào danh sách phụ thuộc build.gradle của bạn:Gradle, add the following to your build.gradle dependencies list:

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}

Khi bạn định cấu hình các phụ thuộc của mình, hãy đảm bảo chúng có sẵn cho dự án của bạn, điều này có thể yêu cầu chạy Trình quản lý phụ thuộc của bạn và làm mới dự án trong IDE của bạn.

Sau khi thiết lập các phụ thuộc dự án Java của bạn, hãy tạo một cụm MongoDB nơi bạn có thể lưu trữ và quản lý dữ liệu của mình. Hoàn thành Hướng dẫn bắt đầu với Atlas để thiết lập một tài khoản Atlas mới, tạo và khởi chạy cụm MongoDB Tier miễn phí, tải bộ dữ liệu và tương tác với dữ liệu.Get Started with Atlas guide to set up a new Atlas account, create and launch a free tier MongoDB cluster, load datasets, and interact with the data.

Sau khi hoàn thành các bước trong Hướng dẫn Atlas, bạn nên có một cụm MongoDB mới được triển khai ở Atlas, người dùng cơ sở dữ liệu mới và các bộ dữ liệu mẫu được tải vào cụm của bạn.

Trong bước này, chúng tôi tạo và chạy một ứng dụng sử dụng trình điều khiển Java MongoDB để kết nối với cụm MongoDB của bạn và chạy truy vấn trên dữ liệu mẫu.

Chúng tôi chuyển hướng dẫn cho trình điều khiển về cách kết nối với cụm MongoDB của bạn trong một chuỗi gọi là chuỗi kết nối. Chuỗi này bao gồm thông tin về tên máy chủ hoặc địa chỉ IP và cổng của cụm, cơ chế xác thực, thông tin đăng nhập của người dùng khi áp dụng và các tùy chọn kết nối khác.

Nếu bạn đang kết nối với một thể hiện hoặc cụm không được lưu trữ bởi ATLAS, hãy xem các cách khác để kết nối với MongoDB để biết hướng dẫn về cách định dạng chuỗi kết nối của bạn.

Để truy xuất chuỗi kết nối của bạn cho cụm và người dùng bạn đã tạo ở bước trước, hãy đăng nhập vào tài khoản Atlas của bạn và điều hướng đến phần cơ sở dữ liệu và nhấp vào nút Kết nối cho cụm mà bạn muốn kết nối như hiển thị bên dưới.Database section and click the Connect button for the cluster that you want to connect to as shown below.

Tiến hành kết nối bước ứng dụng của bạn và chọn trình điều khiển Java. Chọn "4.1 trở lên" cho phiên bản. Nhấp vào biểu tượng sao chép để sao chép chuỗi kết nối vào bảng tạm của bạn như hiển thị bên dưới.Connect Your Application step and select the Java driver. Select "4.1 or Later" for the version. Click the Copy icon to copy the connection string to your clipboard as shown below.

Lưu chuỗi kết nối Atlas của bạn ở một vị trí an toàn mà bạn có thể truy cập cho bước tiếp theo.

Tiếp theo, hãy tạo một tệp để chứa ứng dụng của bạn có tên là

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
0 trong thư mục gói cơ sở của dự án của bạn. Sử dụng mã mẫu sau để chạy truy vấn trên bộ dữ liệu mẫu của bạn trong Atlas MongoDB, thay thế giá trị của biến
dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
1 bằng chuỗi kết nối Atlas MongoDB của bạn. Đảm bảo bạn thay thế phần "" của chuỗi kết nối bằng mật khẩu bạn đã tạo cho người dùng có quyền Atlasadmin:atlasAdmin permissions:

import static com.mongodb.client.model.Filters.eq;
import org.bson.Document;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public static void main[ String[] args ] {
// Replace the uri string with your MongoDB deployment's connection string
String uri = "";
try [MongoClient mongoClient = MongoClients.create[uri]] {
MongoDatabase database = mongoClient.getDatabase["sample_mflix"];
MongoCollection collection = database.getCollection["movies"];
Document doc = collection.find[eq["title", "Back to the Future"]].first[];
System.out.println[doc.toJson[]];
}
}

Khi bạn chạy lớp

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
2, nó sẽ xuất ra các chi tiết của bộ phim từ bộ dữ liệu mẫu sẽ trông giống như thế này:

{
_id: ...,
plot: 'A young man is accidentally sent 30 years into the past...',
genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ],
...
title: 'Back to the Future',
...
}

Nếu bạn không nhận được đầu ra hoặc lỗi, hãy kiểm tra xem bạn có bao gồm chuỗi kết nối phù hợp trong lớp Java của bạn không và liệu bạn có tải bộ dữ liệu mẫu vào cụm Atlas MongoDB của bạn không.

Quan trọng

Vấn đề kết nối đã biết khi sử dụng TLS v1.3

Nếu bạn gặp phải lỗi kết nối với phiên bản MongoDB hoặc cụm giống như sau khi chạy ứng dụng của mình, bạn có thể cần cập nhật JDK của mình lên bản phát hành bản vá mới nhất:

javax.net.ssl.SSLHandshakeException: extension [5] should not be presented in certificate_request

Ngoại lệ này là một vấn đề đã biết khi sử dụng giao thức TLS 1.3 với các phiên bản cụ thể của JDK, nhưng đã được sửa cho các bản phát hành sau:

  • JDK 11.0.7

  • JDK 13.0.3

  • JDK 14.0.2

Để giải quyết lỗi này, hãy cập nhật JDK của bạn lên một trong các phiên bản bản vá trước hoặc phiên bản mới hơn.

Sau khi hoàn thành bước này, bạn nên có một ứng dụng làm việc sử dụng trình điều khiển Java để kết nối với cụm MongoDB của bạn, chạy truy vấn trên dữ liệu mẫu và in ra kết quả.

Trong phần trước, bạn đã chạy một truy vấn trên bộ sưu tập mẫu để truy xuất dữ liệu trong lớp giống như bản đồ

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
3. Trong phần này, bạn có thể học cách sử dụng đối tượng Java cũ [POJO] đơn giản của riêng bạn để lưu trữ và truy xuất dữ liệu từ MongoDB.

Tạo một tệp có tên

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
4 trong thư mục gói cơ sở của dự án của bạn và thêm mã sau cho một lớp bao gồm các trường, setters và getters sau đây:

public class Movie {
String plot;
List genres;
String title;
public String getPlot[] {
return plot;
}
public void setPlot[String plot] {
this.plot = plot;
}
public List getGenres[] {
return genres;
}
public void setGenres[List genres] {
this.genres = genres;
}
public String getTitle[] {
return title;
}
public void setTitle[String title] {
this.title = title;
}
@Override
public String toString[] {
return "Movie [\n plot=" + plot + ",\n genres=" + genres + ",\n title=" + title + "\n]";
}
}

Tạo một tệp mới

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
5 trong cùng một thư mục gói với tệp
dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
6 của bạn trong dự án của bạn. Sử dụng mã mẫu sau để chạy truy vấn trên bộ dữ liệu mẫu của bạn trong Atlas MongoDB, thay thế giá trị của biến
dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
1 bằng chuỗi kết nối Atlas MongoDB của bạn. Đảm bảo bạn thay thế phần "" của chuỗi kết nối bằng mật khẩu bạn đã tạo cho người dùng có quyền Atlasadmin:atlasAdmin permissions:

import static com.mongodb.MongoClientSettings.getDefaultCodecRegistry;
import static com.mongodb.client.model.Filters.eq;
import static org.bson.codecs.configuration.CodecRegistries.fromProviders;
import static org.bson.codecs.configuration.CodecRegistries.fromRegistries;
import org.bson.codecs.configuration.CodecProvider;
import org.bson.codecs.configuration.CodecRegistry;
import org.bson.codecs.pojo.PojoCodecProvider;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class QuickStartPojoExample {
public static void main[String[] args] {
CodecProvider pojoCodecProvider = PojoCodecProvider.builder[].automatic[true].build[];
CodecRegistry pojoCodecRegistry = fromRegistries[getDefaultCodecRegistry[], fromProviders[pojoCodecProvider]];
// Replace the uri string with your MongoDB deployment's connection string
String uri = "";
try [MongoClient mongoClient = MongoClients.create[uri]] {
MongoDatabase database = mongoClient.getDatabase["sample_mflix"].withCodecRegistry[pojoCodecRegistry];
MongoCollection collection = database.getCollection["movies", Movie.class];
Movie movie = collection.find[eq["title", "Back to the Future"]].first[];
System.out.println[movie];
}
}
}

Khi bạn chạy lớp

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:4.7.2'
}
8, nó sẽ xuất ra các chi tiết của bộ phim từ bộ dữ liệu mẫu sẽ trông giống như thế này:

Movie [
plot=A young man is accidentally sent 30 years into the past...,
genres=[Adventure, Comedy, Sci-Fi],
title=Back to the Future
]

Nếu bạn không nhận được đầu ra hoặc lỗi, hãy kiểm tra xem bạn có bao gồm chuỗi kết nối phù hợp trong lớp Java của bạn không và liệu bạn có tải bộ dữ liệu mẫu vào cụm Atlas MongoDB của bạn không.

Xem các liên kết sau để biết thêm thông tin về việc sử dụng POJOS để lưu trữ và truy xuất dữ liệu:

  • Hướng dẫn sử dụng POJOS để lưu trữ và truy xuất dữ liệu

  • Hướng dẫn về tuần tự hóa tùy chỉnh của Pojos

Tìm hiểu cách đọc và sửa đổi dữ liệu bằng trình điều khiển Java trong Hướng dẫn CRUD cơ bản của chúng tôi hoặc cách thực hiện các hoạt động chung từ các ví dụ sử dụng của chúng tôi.

Chủ Đề