Truy vấn bộ lọc mongodb
Ở 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 nhúng/lồng nhau. 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 tài liệu (mảng trong tài liệu) bao gồm các mảng thuộc tính đơn Ví dụ dữ liệuWith data model 9 ví dụ ở các bài viết trước, tôi bổ sung thêm trường để ví dụ đầy đủ các trường hợp
Xây dựng lưu trữ dữ liệu vào cơ sở dữ liệu
Truy vấn một mảng1. $tất cảĐể truy vấn điều kiện mảng chứa các phần tử, ta sử dụng 0. Ví dụ dưới đây tìm tài liệu tìm kiếm với điều kiện mảng 1 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ử 2. Ví dụ như câu lệnh bên dưới tài liệu này phải bổ sung mảng 1 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 sai thứ tự thì đều không đạt tiêu chuẩ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 2
3. $elemMatchKhi chỉ định nhiều điều kiện áp dụng cho mảng, bạn có thể chỉ truy vấn theo 2 cách
Sự kết hợp của các phần tử trong mảng trả lời các điều kiệnVí dụ truy vấn các tài liệu với điều kiện các phần từ trong mảng 5 có phần tử lơn hơn 15, có phần nhỏ hơn 25 1An Element section in an arrayTruy vấn mảng với ít nhất một phần tử trong mảng trả lời tất cả các điều kiện - sử dụng toán điện tử 6. Ví dụ truy vấn các tài liệu với điều kiện ít nhất một phần tử trong mảng 5 phải tôn trọng độ tuổi lớn hơn 15 và nhỏ hơn 25 44. Mảng chỉ mụcĐể truy vấn điều kiện của một phần tử trong mảng với vị trí cụ thể, bạn sử dụng ký tự 8 sau đó là vị trí của phần tử (vị trí bắt đầu từ 0)Ví dụ truy vấn tài liệu với phần tử thứ 2 trong mảng 5 bằng 40 75. kích thước $Sử dụng 0 để truy vấn số lượng phần tử trong mảng, ví dụ chọn tài liệu mà mảng có 3 phần tử |