Bộ sưu tập trong mongodb
MongoDB là một cơ sở dữ liệu NoSQL, cho phép chúng ta có thể lưu trữ những kiểu dữ liệu phức tạp, không có cấu trúc nhất định. Trong bài viết này, Hybrid Technologies sẽ hướng dẫn các bạn những bước cơ bản để làm việc với MongoDB trong các ứng dụng Java, hãy cùng khám phá nhé
Đầu tiên, hãy tạo một dự án Maven mới để làm ví dụ Tương tự như các hệ thống cơ sở dữ liệu khác, để làm việc với Java, chúng ta cần khai báo để sử dụng Driver của MongoDB trong ứng dụng của mình
Để kết nối tới MongoDB, chúng ta sẽ sử dụng các đối tượng MongoClient từ thư viện Trình điều khiển của nó với khai báo như sau MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
MongoClient client = new MongoClient(uri);
Trong đó đối tượng MongoClientURI là một trong những đối tượng sẽ quản lý thông tin về MongoDB bao gồm địa chỉ IP và cổng mà MongoDB đang chạy. Còn lại các đối tượng MongoClient sẽ là đối tượng đảm nhiệm vai trò kết nối tới MongoDB đó Trong trường hợp các bạn đang sử dụng máy chủ MongoDB với chế độ xác thực, các bạn cần khai báo tên người dùng và mật khẩu đang được gán cho cơ sở dữ liệu mà các bạn đang định sử dụng MongoCredential credential = MongoCredential.createCredential
("khanh", "mongodb", "abc123".toCharArray());
List Sau đó, hãy kết nối tới MongoDB với đoạn mã sau ServerAddress serverAddress = new ServerAddress("localhost", 27017);
MongoClient client = new MongoClient(serverAddress, auths); Mặc định, MongoDB sẽ chạy trên cổng 27017 và nếu các bạn đang cài đặt MongoDB trên máy local thì chúng ta không cần phải khai báo các đối tượng MongoClientURI các bạn nhé. Các bạn chỉ cần khai báo đơn giản như sau MongoClient client = new MongoClient(); This time, if run application package com.huongdanjava.mongodb;
import com.mongodb.MongoClient;
public class Application {
public static void main(String[] args) {
MongoClient client = new MongoClient();
}
}
you will see results as after Nhìn vào đoạn nhật ký, các bạn có thể thấy ứng dụng của chúng ta đã được kết nối với MongoDB. Sau khi kết nối xong, các bạn có thể thao tác với nó Đầu tiên, các bạn có thể lấy danh sách các cơ sở dữ liệu đang có trong MongoDB hiện tại bằng cách sử dụng phương thức listDatabaseNames() Ví dụ package com.huongdanjava.mongodb;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoIterable;
public class Application {
public static void main(String[] args) {
MongoClient client = new MongoClient();
MongoIterable
Kết quả Chúng ta có thể chọn cơ sở dữ liệu để thao tác sử dụng phương thức getDatabase() của đối tượng MongoClient Ví dụ, khi có một cơ sở dữ liệu tên là mongodb trong MongoDB, thì mã sẽ như sau MongoDatabase mongodb = client.getDatabase("mongodb"); Giống như khi thao tác sử dụng dòng lệnh với MongoDB, nếu cơ sở dữ liệu mà chúng ta chọn để thao tác không tồn tại thì cơ sở dữ liệu này sẽ tự động tạo Đối tượng MongoDatabase sẽ là đối tượng nắm giữ mọi thông tin về các Bộ sưu tập có trong cơ sở dữ liệu mà chúng ta đang sử dụng. Do đó, từ đối tượng MongoDatabase này, các bạn có thể lấy tên của tất cả các Bộ sưu tập bằng cách sử dụng phương thức listCollectionNames() ________số 8_______
Cơ sở dữ liệu “mongodb” đang có những Bộ sưu tập sau then results will be Để thao tác với bất kỳ Bộ sưu tập nào, các bạn có thể sử dụng phương thức getCollection() của đối tượng MongoDatabase để lấy đối tượng MongoCollection cho Bộ sưu tập đó Ví dụ MongoCollection Nếu muốn chèn một Tài liệu vào Bộ sưu tập, các bạn có thể sử dụng các phương thức insertOne() để chèn 1 Tài liệu hoặc insertMany() để chèn nhiều Tài liệu cùng một lúc Một Tài liệu là một chuỗi JSON và chúng ta sẽ sử dụng đối tượng Tài liệu của MongoDB Driver API để xây dựng nó. Ví dụ: khi muốn xây dựng một Tài liệu về thông tin sinh viên bao gồm tên và tuổi thì chúng ta sẽ tạo các đối tượng Tài liệu như sau MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
MongoClient client = new MongoClient(uri); 0
rồi viết mã để chèn một Tài liệu mới
MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
MongoClient client = new MongoClient(uri); 1
Kết quả Tất nhiên, các bạn cũng có thể kiểm tra kết quả từ mã bằng cách sử dụng phương thức find() của đối tượng MongoCollection Phương thức find() này có tham số là một đối tượng Tài liệu, đây chính là tiêu chí để tìm kiếm tất cả các Tài liệu trong Bộ sưu tập hiện có nội dung tương tự đó các bạn MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
MongoClient client = new MongoClient(uri); 2
Trong ví dụ trên, chúng tôi tìm kiếm các Tài liệu Sinh viên theo 2 tiêu chí là tên và tuổi. Các bạn có thể mở rộng kết quả tìm kiếm bằng một trong 2 tiêu chí này cũng được Kết quả Các bạn cũng có thể cập nhật một hoặc nhiều Tài liệu cùng một lúc. Chúng ta sẽ sử dụng các phương thức updateOne() hoặc updateMany() của đối tượng MongoCollection để thực hiện điều này Có nhiều quá tải phương thức của 2 phương thức trên với các tham số khác nhau. Nhưng cơ bản thì có 2 tham số chính, đó là đối tượng Tài liệu để tìm kiếm các Tài liệu cần cập nhật, đối tượng Tài liệu thứ 2 chứa nội dung cần cập nhật |