Hướng dẫn find in array mongodb - tìm trong mảng mongodb
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Trên trang này
Sử dụng menu chọn ngôn ngữ của bạn ở phía trên bên phải để đặt ngôn ngữ của các ví dụ sau.Select your language drop-down menu in the upper-right to set the language of the following examples. Các truy vấn ví dụ sau đây cho tất cả các tài liệu trong đó giá trị trường Thay vào đó, nếu bạn muốn tìm một mảng chứa cả hai phần tử 2:Các truy vấn ví dụ sau đây cho tất cả các tài liệu trong đó Ví dụ: các truy vấn hoạt động sau đây cho tất cả các tài liệu trong đó mảng 5 chứa ít nhất một phần tử có giá trị lớn hơn 6.Khi chỉ định các điều kiện hợp chất trên các phần tử mảng, bạn có thể chỉ định truy vấn sao cho một phần tử mảng duy nhất đáp ứng các điều kiện này hoặc bất kỳ sự kết hợp nào của các phần tử mảng đáp ứng các điều kiện. Các truy vấn ví dụ sau đây cho các tài liệu trong đó mảng 5 chứa các yếu tố trong một số kết hợp thỏa mãn các điều kiện truy vấn; ví dụ: một yếu tố có thể thỏa mãn điều kiện lớn hơn 8 và một phần tử khác có thể thỏa mãn điều kiện nhỏ hơn 9 hoặc một phần tử duy nhất có thể thỏa mãn cả hai:Sử dụng toán tử 0 để chỉ định nhiều tiêu chí về các phần tử của một mảng sao cho ít nhất một phần tử mảng đáp ứng tất cả các tiêu chí được chỉ định.Các truy vấn ví dụ sau đây cho các tài liệu trong đó mảng 5 chứa ít nhất một phần tử vừa hơn ( 2) 3 và nhỏ hơn ( 4) 5:Sử dụng ký hiệu DOT, bạn có thể chỉ định các điều kiện truy vấn cho một phần tử tại một chỉ mục hoặc vị trí cụ thể của mảng. Mảng sử dụng lập chỉ mục dựa trên không. Ghi chúKhi truy vấn sử dụng ký hiệu DOT, trường và trường lồng nhau phải ở bên trong dấu ngoặc kép. Các truy vấn ví dụ sau đây cho tất cả các tài liệu trong đó phần tử thứ hai trong mảng 5 lớn hơn 6:Sử dụng toán tử 8 để truy vấn cho các mảng theo số phần tử. Ví dụ: các tài liệu chọn sau đây trong đó mảng tags có 3 yếu tố.Để biết các ví dụ truy vấn bổ sung, xem:
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual 0 Trình điều khiển 0 chọn các tài liệu trong đó giá trị của một trường bằng bất kỳ giá trị nào trong mảng được chỉ định. Để chỉ định biểu thức 0, hãy sử dụng nguyên mẫu sau:The
Để so sánh các giá trị loại BSON khác nhau, hãy xem thứ tự so sánh BSON được chỉ định. Nếu 3 giữ một mảng, thì toán tử 0 chọn các tài liệu có 3 giữ một mảng chứa ít nhất một phần tử phù hợp với giá trị trong mảng được chỉ định (ví dụ: 6, 7, v.v.). 0 operator selects the documents whose 3 holds an array that contains at least one element that matches a value in the
specified array (for example, 6, 7, and so on).Toán tử 0 so sánh từng tham số với từng tài liệu trong bộ sưu tập, có thể dẫn đến các vấn đề về hiệu suất. Để cải thiện hiệu suất: 0 operator compares each parameter to each document in the collection, which can lead to performance issues. To improve performance:
Ghi chúTạo bộ sưu tập 1:
Xem xét ví dụ sau:
Truy vấn này chọn tất cả các tài liệu trong bộ sưu tập 1 trong đó giá trị của trường 3 là 5 hoặc 15.
Mặc dù bạn có thể viết truy vấn này bằng toán tử 4, hãy sử dụng toán tử 0 thay vì toán tử 4 khi thực hiện kiểm tra bình đẳng trên cùng một trường. 0 operator rather
than the 4 operator when performing equality checks on the same field.Hoạt động 7 sau đây đặt trường 8 thành 9 khi mảng tags có ít nhất một phần tử khớp với 1 hoặc 2.
Ví dụ đầu ra:
Để biết các ví dụ bổ sung trong các mảng truy vấn, xem:
Để biết các ví dụ bổ sung trong truy vấn, xem:
Toán tử 0 có thể chỉ định các giá trị phù hợp bằng cách sử dụng các biểu thức thông thường của mẫu 4. Bạn không thể sử dụng các biểu thức toán tử 5 bên trong 0 0 operator can specify matching values using regular expressions of the form 4. You cannot use
5 operator expressions inside an 0Xem xét ví dụ sau:
Truy vấn này chọn tất cả các tài liệu trong bộ sưu tập db.inventory.updateMany( { tags: { $in: [ "home", "school" ] } }, { $set: { exclude: false } })1 trong đó giá trị của trường db.inventory.updateMany( { tags: { $in: [ "home", "school" ] } }, { $set: { exclude: false } })3 là 5 hoặc 15. |