MongoDB - Java: Hướng dẫn dành cho người mới bắt đầu

Xin chào, vị pháp sư MongoDB tương lai! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình thú vị vào thế giới của MongoDB với Java. Là người đã dạy khoa học máy tính trong nhiều năm, tôi có thể nói rằng sự kết hợp này giống như bơ và jelly - đơn giản là ngon tuyệt! Vậy chúng ta hãy c rolled up our sleeves và nhảy vào thôi, phải không?

MongoDB - Java

Cài đặt

Trước khi chúng ta bắt đầu tạo ra một phép màu MongoDB, chúng ta cần chuẩn bị kitchen (err... môi trường phát triển) của mình. Đừng lo lắng, nó dễ dàng hơn việc组装 nội thất IKEA!

  1. Đầu tiên, tải xuống và cài đặt MongoDB từ trang web chính thức.
  2. Tiếp theo, chúng ta cần thêm trình điều khiển MongoDB Java vào dự án của mình. Nếu bạn sử dụng Maven, thêm đoạn mã này vào tệp pom.xml của bạn:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.3.0</version>
</dependency>

Nếu bạn không sử dụng Maven, đừng lo lắng! Bạn có thể tải xuống tệp JAR và thêm nó vào classpath của mình thủ công. Đó giống như việc chọn giữa hộp số tự động và手动 - cả hai đều sẽ đưa bạn đến đích!

Kết nối đến cơ sở dữ liệu

Bây giờ chúng ta đã sẵn sàng, hãy kết nối đến cơ sở dữ liệu của mình. Điều này giống như đang gọi điện thoại, nhưng với cơ sở dữ liệu!

import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;

public class MongoDBConnection {
public static void main(String[] args) {
// Tạo một MongoDB client
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Kết nối đến cơ sở dữ liệu
MongoDatabase database = mongoClient.getDatabase("myDatabase");

System.out.println("Kết nối đến cơ sở dữ liệu thành công!");
}
}

Trong đoạn mã này, chúng ta đang tạo một MongoClient và sử dụng nó để kết nối đến cơ sở dữ liệu có tên là "myDatabase". Nếu cơ sở dữ liệu không tồn tại, MongoDB sẽ tạo nó cho chúng ta. Thật tuyệt vời phải không?

Tạo một Collection

Các collection trong MongoDB giống như các bảng trong cơ sở dữ liệu quan hệ, nhưng còn thú vị hơn. Chúng không có schema, có nghĩa là chúng có thể chứa các loại tài liệu khác nhau. Đó giống như một buổi tiệc mà ai cũng được mời!

import com.mongodb.client.MongoCollection;
import org.bson.Document;

// ... (mã trước đó để kết nối đến cơ sở dữ liệu)

MongoCollection<Document> collection = database.getCollection("myCollection");
if (collection == null) {
database.createCollection("myCollection");
System.out.println("Collection tạo thành công!");
} else {
System.out.println("Collection đã tồn tại!");
}

Đoạn mã này kiểm tra xem collection có tên "myCollection"是否存在. Nếu không, nó tạo một collection mới. Đó giống như kiểm tra xem bạn có sữa trong tủ lạnh hay không, và nếu không, bạn đi mua một ít!

Lựa chọn một Collection

Một khi chúng ta có các collection, chúng ta cần biết cách lựa chọn chúng. Điều này giống như việc chọn玩具 để chơi từ hộp đồ chơi của bạn!

MongoCollection<Document> collection = database.getCollection("myCollection");
System.out.println("Collection đã được chọn: " + collection.getNamespace().getCollectionName());

Đoạn mã này lựa chọn collection "myCollection" và in tên của nó. Đơn giản phải không?

Chèn một Document

Bây giờ, hãy thêm một ít dữ liệu vào collection của chúng ta. Trong MongoDB, dữ liệu được lưu trữ dưới dạng tài liệu, tương tự như các đối tượng JSON.

Document document = new Document("name", "John Doe")
.append("age", 30)
.append("city", "New York");

collection.insertOne(document);
System.out.println("Document đã được chèn thành công!");

Đoạn mã này tạo một tài liệu với tên, tuổi và thành phố, sau đó chèn nó vào collection. Đó giống như điền vào một biểu mẫu và gửi nó!

Truy xuất tất cả các Document

Dữ liệu có ích nếu chúng ta không thể truy xuất nó phải không? Hãy lấy tất cả các tài liệu từ collection của chúng ta.

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

FindIterable<Document> documents = collection.find();
for (Document doc : documents) {
System.out.println(doc.toJson());
}

Đoạn mã này truy xuất tất cả các tài liệu và in chúng dưới dạng JSON. Đó giống như yêu cầu tất cả các bánh quy trong lọ!

Cập nhật Document

Đôi khi, chúng ta cần cập nhật dữ liệu của mình. Có lẽ John đã chuyển đến một thành phố mới?

collection.updateOne(eq("name", "John Doe"), new Document("$set", new Document("city", "San Francisco")));
System.out.println("Document đã được cập nhật thành công!");

Đoạn mã này cập nhật thành phố của John Doe thành San Francisco. Đó giống như cập nhật địa chỉ của bạn khi bạn chuyển đến một nơi mới!

Xóa một Document

Và đôi khi, chúng ta cần xóa dữ liệu. Giả sử John không muốn nằm trong cơ sở dữ liệu của chúng ta nữa.

collection.deleteOne(eq("name", "John Doe"));
System.out.println("Document đã được xóa thành công!");

Đoạn mã này xóa tài liệu của John Doe. Đó giống như xóa một lỗi trên bài tập về nhà của bạn!

Xóa một Collection

Nếu chúng ta muốn xóa một collection hoàn chỉnh, chúng ta có thể xóa nó.

collection.drop();
System.out.println("Collection đã được xóa thành công!");

Đoạn mã này xóa toàn bộ collection. Đó giống như đổ空的玩具箱 - hãy cẩn thận với điều này!

Liệt kê tất cả các Collection

Cuối cùng, hãy xem cách chúng ta có thể liệt kê tất cả các collection trong cơ sở dữ liệu của mình.

for (String collectionName : database.listCollectionNames()) {
System.out.println(collectionName);
}

Đoạn mã này liệt kê tất cả các tên collection trong cơ sở dữ liệu. Đó giống như kiểm kê tất cả các trò chơi bạn có!

Dưới đây là bảng tóm tắt tất cả các phương thức chúng ta đã xem xét:

Phương thức Mô tả
MongoClients.create() Tạo một MongoDB client
mongoClient.getDatabase() Kết nối đến một cơ sở dữ liệu
database.getCollection() Lấy hoặc tạo một collection
collection.insertOne() Chèn một tài liệu
collection.find() Truy xuất tài liệu
collection.updateOne() Cập nhật một tài liệu
collection.deleteOne() Xóa một tài liệu
collection.drop() Xóa một collection
database.listCollectionNames() Liệt kê tất cả các collection

Và thế là bạn đã bước những bước đầu tiên vào thế giới tuyệt vời của MongoDB với Java. Nhớ rằng, thực hành là cách tốt nhất để trở thành thạo, vì vậy đừng ngần ngại thử nghiệm và thử các kết hợp khác nhau. Ai biết được? Bạn có thể sẽ tạo ra ứng dụng cơ sở dữ liệu驱动的 lớn tiếp theo! Chúc bạn may mắn với việc lập trình!

Credits: Image by storyset