Hướng dẫn mongodb and $or - mongodb và $or
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual $or Trình điều khiển $or thực hiện hoạt động logic OR trên một mảng một hoặc nhiều ____10 và chọn các tài liệu đáp ứng ít nhất một trong số ____10. $or có cú pháp sau:The
0 and selects the documents that satisfy at least one of the 0. The $or has the following syntax:
Xem xét ví dụ sau:
Truy vấn này sẽ chọn tất cả các tài liệu trong bộ sưu tập 3 trong đó giá trị trường 4 nhỏ hơn 5 hoặc giá trị trường 6 bằng 7.or the 6 field value equals 7.Khi đánh giá các mệnh đề trong biểu thức Khi sử dụng các chỉ mục với các truy vấn
Để hỗ trợ truy vấn này, thay vì chỉ mục ghép, bạn sẽ tạo một chỉ mục trên 4 và một chỉ mục khác trên 6:
MongoDB có thể sử dụng tất cả trừ Chỉ số GeoHaystack để hỗ trợ các điều khoản Nếu 7, tất cả các điều khoản trong mảng $or phải được hỗ trợ bởi một chỉ mục. Điều này là do truy vấn 7 phải sử dụng chỉ mục và $or chỉ có thể sử dụng các chỉ mục nếu tất cả các mệnh đề của nó được hỗ trợ bởi các chỉ mục. Nếu truy vấn 7 không thể sử dụng chỉ mục, truy vấn sẽ trả về lỗi.$or includes a 7 query, all clauses in the $or array must be supported by an index. This is because a 7 query must use an index, and $or can only use indexes if all its clauses are supported by indexes. If the
7 query cannot use an index, the query will return an error.
3 and 4). $or cannot contain a near
clause with any other clause.Khi thực hiện các truy vấn 7, MongoDB hiện có thể sử dụng các chỉ mục hỗ trợ các điều khoản $or . Các phiên bản trước không sử dụng các chỉ mục.$or queries with a 7, MongoDB can now use indexes that support the
$or clauses. Previous versions did not use the indexes.Bạn có thể tạo các chỉ mục một phần với 0 của phương thức db.collection.CreateIndex () để tạo chỉ mục một phần.$or . Use the 0 of the db.collection.createIndex() method to create a partial index.Khi sử dụng 0 là kiểm tra bình đẳng cho giá trị của cùng một trường, hãy sử dụng toán tử 3 thay vì toán tử $or .$or with 0 that are equality checks for the value of the same field, use the 3 operator instead of the
$or operator.Ví dụ: để chọn tất cả các tài liệu trong bộ sưu tập 3 trong đó giá trị trường 4 bằng 5 hoặc 8, hãy sử dụng toán tử 3:
Bạn có thể làm tổ MẹoĐể cho phép công cụ truy vấn tối ưu hóa các truy vấn,
Ví dụ: truy vấn sau luôn tạo ra lỗi nếu 6 là 7:
Truy vấn sau, chứa nhiều biểu thức được cung cấp cho 6 là 7:
|