Không, chỉ mục từng phần chỉ hỗ trợ một tập hợp con của các toán tử trong bộ lọc được sử dụng. Các toán tử duy nhất được hỗ trợ là:$AND
(chỉ ở cấp cao nhất), $EQ
, $LT
, $LTE
, $GT
, $GTE
, $EXISTS
và TYPE_OPERATOR
.
Điều đó làm mất đi, ví dụ:$NOT
, $REGEX
, $OR
, v.v.
Bạn có thể thấy điều đó trong nguồn cho MongoDB tại đây .
Cũng có một số hạn chế chung đối với các chỉ mục từng phần:
-
_id
chỉ mục không được là chỉ mục một phần. - Các chỉ mục thưa thớt không thể là chỉ mục một phần.
- Chỉ mục chính của phân đoạn không được là chỉ mục một phần.
- Chỉ mục một phần không được hỗ trợ trong các phiên bản trước 3.2.