Hướng dẫn java query mongodb - java truy vấn mongodb
OverviewỞ bài viết trước tôi đã hướng dẫn truy vấn dữ liệu trong MongoDB bao gồm Phần 1 về các trường cơ bản, Phần 2 về các trường embededd/nested. Tiếp tục bài viết này, tôi sẽ hướng dẫn truy vấn dữ liệu trong MongoDB Sử dụng Java Phần 3. Phần này tôi sẽ hướng dẫn truy vấn dữ liệu trên mảng của document (array in document) bao gồm mảng các thuộc tính đơn. Show
Data ExamplesVới data model 6 ví dụ ở các bài viết trước, tôi bổ sung thêm trường để ví dụ được đầy đủ các trường hợp:
Xây dựng data lưu vào database:
Query an Array1. $allĐể truy vấn với điều kiện mảng chứa các phần tử, ta sử dụng 7. Ví dụ dưới đây tìm kiếm document với điều kiện mảng 8 có chứa các phần tử: mongodb, java:
2. $eqĐể truy vấn so sánh toàn bộ danh sách trong một mảng, chúng ta sử dùng toán tử 9. Ví dụ câu lệnh dưới đây document phải thỏa mãn mảng 8 có chính xác 2 phân tử lần lượt là mongodb và java. Thiếu hoặc thừa bất kỳ phần tử nào hoặc không đúng thứ tự thì đều không thỏa mãn:
Để tìm kiếm với điều kiện mảng chứa phần tử với giá trị được chỉ định, ta cũng sự dụng 9:
3. $elemMatchKhi chỉ định kết hợp nhiều điều kiện áp dụng cho mảng, bạn có thể chỉ định truy vấn với 2 cách:
Sự kết hợp của các phần tử trong mảng đáp ứng các điều kiệnVí dụ truy vấn các document với điều kiện các phần từ trong mảng 2 có phần tử lơn hơn 15, có phần nhỏ hơn 25.
Một phần tử trong mảng thỏa mãn tất cả điều kiệnSự kết hợp của các phần tử trong mảng đáp ứng các điều kiện 0 1Ví dụ truy vấn các document với điều kiện các phần từ trong mảng private static void findArrayOfDocumentExample1(String ip, int port, String databaseName, String collection) {
QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
/* tim kiem document voi tags co chua cac phan tu: mongodb, java */
Bson query = Filters.all("tags", List.of("mongodb", "java"));
List |